diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/README.md b/sdk/securityinsight/azure-mgmt-securityinsight/README.md
index 34d49ca83604..9a3dd14aa602 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/README.md
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/README.md
@@ -1,7 +1,7 @@
# Microsoft Azure SDK for Python
This is the Microsoft Azure Security Insight Management Client Library.
-This package has been tested with Python 3.7+.
+This package has been tested with Python 3.8+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
## _Disclaimer_
@@ -12,7 +12,7 @@ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For
### Prerequisites
-- Python 3.7+ is required to use this package.
+- Python 3.8+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)
### Install the package
@@ -28,7 +28,7 @@ By default, [Azure Active Directory](https://aka.ms/awps/aad) token authenticati
- `AZURE_CLIENT_ID` for Azure client ID.
- `AZURE_TENANT_ID` for Azure tenant ID.
-- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+- `AZURE_CLIENT_SECRET` for Azure client secret.
In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
@@ -45,8 +45,9 @@ client = SecurityInsights(credential=DefaultAzureCredential(), subscription_id=s
## Examples
-
-Code samples for this package can be found at [Security Insight Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com and [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
+Code samples for this package can be found at:
+- [Search Security Insight Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com
+- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
## Troubleshooting
@@ -58,6 +59,3 @@ Code samples for this package can be found at [Security Insight Management](http
If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project.
-
-
-
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/_meta.json b/sdk/securityinsight/azure-mgmt-securityinsight/_meta.json
index fa7204443a7e..9e081d9fc3f7 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/_meta.json
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/_meta.json
@@ -1,11 +1,11 @@
{
- "commit": "89a9bf17524904e7670f0fd2d62ac882ca00d85c",
+ "commit": "d82d856769762e3d7c444de33a5aa50e50a53593",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
- "autorest": "3.9.2",
+ "autorest": "3.10.2",
"use": [
- "@autorest/python@6.2.7",
- "@autorest/modelerfour@4.24.3"
+ "@autorest/python@6.27.4",
+ "@autorest/modelerfour@4.27.0"
],
- "autorest_command": "autorest specification/securityinsights/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.2.7 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
+ "autorest_command": "autorest specification/securityinsights/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.27.4 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
"readme": "specification/securityinsights/resource-manager/readme.md"
}
\ No newline at end of file
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/__init__.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/__init__.py
index 68c8b7a5523e..0f0aea3d5053 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/__init__.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/__init__.py
@@ -5,15 +5,21 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+# pylint: disable=wrong-import-position
-from ._security_insights import SecurityInsights
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from ._patch import * # pylint: disable=unused-wildcard-import
+
+from ._security_insights import SecurityInsights # type: ignore
from ._version import VERSION
__version__ = VERSION
try:
from ._patch import __all__ as _patch_all
- from ._patch import * # pylint: disable=unused-wildcard-import
+ from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk
@@ -21,6 +27,6 @@
__all__ = [
"SecurityInsights",
]
-__all__.extend([p for p in _patch_all if p not in __all__])
+__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_configuration.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_configuration.py
index 9b68f6af78ea..dafaa30e07e4 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_configuration.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_configuration.py
@@ -6,26 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-import sys
from typing import Any, TYPE_CHECKING
-from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
from ._version import VERSION
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
-
if TYPE_CHECKING:
- # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials import TokenCredential
-class SecurityInsightsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
+class SecurityInsightsConfiguration: # pylint: disable=too-many-instance-attributes
"""Configuration for SecurityInsights.
Note that all parameters used to create this instance are saved as instance
@@ -33,16 +25,15 @@ class SecurityInsightsConfiguration(Configuration): # pylint: disable=too-many-
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.TokenCredential
- :param subscription_id: The ID of the target subscription. Required.
+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
- :keyword api_version: Api Version. Default value is "2022-12-01-preview". Note that overriding
+ :keyword api_version: Api Version. Default value is "2024-10-01-preview". Note that overriding
this default value may result in unsupported behavior.
:paramtype api_version: str
"""
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
- super(SecurityInsightsConfiguration, self).__init__(**kwargs)
- api_version: Literal["2022-12-01-preview"] = kwargs.pop("api_version", "2022-12-01-preview")
+ api_version: str = kwargs.pop("api_version", "2024-10-01-preview")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@@ -54,6 +45,7 @@ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-securityinsight/{}".format(VERSION))
+ self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None:
@@ -62,9 +54,9 @@ def _configure(self, **kwargs: Any) -> None:
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
- self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
+ self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = ARMChallengeAuthenticationPolicy(
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_patch.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_patch.py
index f99e77fef986..17dbc073e01b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_patch.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_patch.py
@@ -25,6 +25,7 @@
#
# --------------------------------------------------------------------------
+
# This file is used for handwritten extensions to the generated code. Example:
# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
def patch_sdk():
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_security_insights.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_security_insights.py
index 3cde4c860447..872b113c623b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_security_insights.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_security_insights.py
@@ -8,24 +8,35 @@
from copy import deepcopy
from typing import Any, TYPE_CHECKING
+from typing_extensions import Self
+from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient
+from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
from . import models as _models
from ._configuration import SecurityInsightsConfiguration
from ._serialization import Deserializer, Serializer
from .operations import (
ActionsOperations,
+ AlertRuleOperations,
AlertRuleTemplatesOperations,
AlertRulesOperations,
AutomationRulesOperations,
+ BillingStatisticsOperations,
BookmarkOperations,
BookmarkRelationsOperations,
BookmarksOperations,
+ BusinessApplicationAgentOperations,
+ BusinessApplicationAgentsOperations,
+ ContentPackageOperations,
+ ContentPackagesOperations,
+ ContentTemplateOperations,
+ ContentTemplatesOperations,
+ DataConnectorDefinitionsOperations,
DataConnectorsCheckRequirementsOperations,
DataConnectorsOperations,
- DomainWhoisOperations,
EntitiesGetTimelineOperations,
EntitiesOperations,
EntitiesRelationsOperations,
@@ -35,7 +46,10 @@
FileImportsOperations,
GetOperations,
GetRecommendationsOperations,
- IPGeodataOperations,
+ GetTriggeredAnalyticsRuleRunsOperations,
+ HuntCommentsOperations,
+ HuntRelationsOperations,
+ HuntsOperations,
IncidentCommentsOperations,
IncidentRelationsOperations,
IncidentTasksOperations,
@@ -43,25 +57,38 @@
MetadataOperations,
OfficeConsentsOperations,
Operations,
+ ProductPackageOperations,
+ ProductPackagesOperations,
ProductSettingsOperations,
+ ProductTemplateOperations,
+ ProductTemplatesOperations,
+ ReevaluateOperations,
+ SecurityInsightsOperationsMixin,
SecurityMLAnalyticsSettingsOperations,
SentinelOnboardingStatesOperations,
SourceControlOperations,
SourceControlsOperations,
+ SystemsOperations,
ThreatIntelligenceIndicatorMetricsOperations,
ThreatIntelligenceIndicatorOperations,
ThreatIntelligenceIndicatorsOperations,
+ ThreatIntelligenceOperations,
+ TriggeredAnalyticsRuleRunOperations,
UpdateOperations,
WatchlistItemsOperations,
WatchlistsOperations,
+ WorkspaceManagerAssignmentJobsOperations,
+ WorkspaceManagerAssignmentsOperations,
+ WorkspaceManagerConfigurationsOperations,
+ WorkspaceManagerGroupsOperations,
+ WorkspaceManagerMembersOperations,
)
if TYPE_CHECKING:
- # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials import TokenCredential
-class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
+class SecurityInsights(SecurityInsightsOperationsMixin): # pylint: disable=too-many-instance-attributes
"""API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider.
:ivar alert_rules: AlertRulesOperations operations
@@ -73,20 +100,50 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
azure.mgmt.securityinsight.operations.AlertRuleTemplatesOperations
:ivar automation_rules: AutomationRulesOperations operations
:vartype automation_rules: azure.mgmt.securityinsight.operations.AutomationRulesOperations
+ :ivar entities: EntitiesOperations operations
+ :vartype entities: azure.mgmt.securityinsight.operations.EntitiesOperations
:ivar incidents: IncidentsOperations operations
:vartype incidents: azure.mgmt.securityinsight.operations.IncidentsOperations
+ :ivar billing_statistics: BillingStatisticsOperations operations
+ :vartype billing_statistics: azure.mgmt.securityinsight.operations.BillingStatisticsOperations
:ivar bookmarks: BookmarksOperations operations
:vartype bookmarks: azure.mgmt.securityinsight.operations.BookmarksOperations
:ivar bookmark_relations: BookmarkRelationsOperations operations
:vartype bookmark_relations: azure.mgmt.securityinsight.operations.BookmarkRelationsOperations
:ivar bookmark: BookmarkOperations operations
:vartype bookmark: azure.mgmt.securityinsight.operations.BookmarkOperations
- :ivar ip_geodata: IPGeodataOperations operations
- :vartype ip_geodata: azure.mgmt.securityinsight.operations.IPGeodataOperations
- :ivar domain_whois: DomainWhoisOperations operations
- :vartype domain_whois: azure.mgmt.securityinsight.operations.DomainWhoisOperations
- :ivar entities: EntitiesOperations operations
- :vartype entities: azure.mgmt.securityinsight.operations.EntitiesOperations
+ :ivar business_application_agents: BusinessApplicationAgentsOperations operations
+ :vartype business_application_agents:
+ azure.mgmt.securityinsight.operations.BusinessApplicationAgentsOperations
+ :ivar business_application_agent: BusinessApplicationAgentOperations operations
+ :vartype business_application_agent:
+ azure.mgmt.securityinsight.operations.BusinessApplicationAgentOperations
+ :ivar systems: SystemsOperations operations
+ :vartype systems: azure.mgmt.securityinsight.operations.SystemsOperations
+ :ivar content_packages: ContentPackagesOperations operations
+ :vartype content_packages: azure.mgmt.securityinsight.operations.ContentPackagesOperations
+ :ivar content_package: ContentPackageOperations operations
+ :vartype content_package: azure.mgmt.securityinsight.operations.ContentPackageOperations
+ :ivar product_packages: ProductPackagesOperations operations
+ :vartype product_packages: azure.mgmt.securityinsight.operations.ProductPackagesOperations
+ :ivar product_package: ProductPackageOperations operations
+ :vartype product_package: azure.mgmt.securityinsight.operations.ProductPackageOperations
+ :ivar product_templates: ProductTemplatesOperations operations
+ :vartype product_templates: azure.mgmt.securityinsight.operations.ProductTemplatesOperations
+ :ivar product_template: ProductTemplateOperations operations
+ :vartype product_template: azure.mgmt.securityinsight.operations.ProductTemplateOperations
+ :ivar content_templates: ContentTemplatesOperations operations
+ :vartype content_templates: azure.mgmt.securityinsight.operations.ContentTemplatesOperations
+ :ivar content_template: ContentTemplateOperations operations
+ :vartype content_template: azure.mgmt.securityinsight.operations.ContentTemplateOperations
+ :ivar data_connector_definitions: DataConnectorDefinitionsOperations operations
+ :vartype data_connector_definitions:
+ azure.mgmt.securityinsight.operations.DataConnectorDefinitionsOperations
+ :ivar data_connectors: DataConnectorsOperations operations
+ :vartype data_connectors: azure.mgmt.securityinsight.operations.DataConnectorsOperations
+ :ivar data_connectors_check_requirements: DataConnectorsCheckRequirementsOperations operations
+ :vartype data_connectors_check_requirements:
+ azure.mgmt.securityinsight.operations.DataConnectorsCheckRequirementsOperations
:ivar entities_get_timeline: EntitiesGetTimelineOperations operations
:vartype entities_get_timeline:
azure.mgmt.securityinsight.operations.EntitiesGetTimelineOperations
@@ -101,6 +158,12 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
azure.mgmt.securityinsight.operations.EntityQueryTemplatesOperations
:ivar file_imports: FileImportsOperations operations
:vartype file_imports: azure.mgmt.securityinsight.operations.FileImportsOperations
+ :ivar hunts: HuntsOperations operations
+ :vartype hunts: azure.mgmt.securityinsight.operations.HuntsOperations
+ :ivar hunt_relations: HuntRelationsOperations operations
+ :vartype hunt_relations: azure.mgmt.securityinsight.operations.HuntRelationsOperations
+ :ivar hunt_comments: HuntCommentsOperations operations
+ :vartype hunt_comments: azure.mgmt.securityinsight.operations.HuntCommentsOperations
:ivar incident_comments: IncidentCommentsOperations operations
:vartype incident_comments: azure.mgmt.securityinsight.operations.IncidentCommentsOperations
:ivar incident_relations: IncidentRelationsOperations operations
@@ -114,6 +177,8 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
:ivar sentinel_onboarding_states: SentinelOnboardingStatesOperations operations
:vartype sentinel_onboarding_states:
azure.mgmt.securityinsight.operations.SentinelOnboardingStatesOperations
+ :ivar operations: Operations operations
+ :vartype operations: azure.mgmt.securityinsight.operations.Operations
:ivar get_recommendations: GetRecommendationsOperations operations
:vartype get_recommendations:
azure.mgmt.securityinsight.operations.GetRecommendationsOperations
@@ -121,6 +186,8 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
:vartype get: azure.mgmt.securityinsight.operations.GetOperations
:ivar update: UpdateOperations operations
:vartype update: azure.mgmt.securityinsight.operations.UpdateOperations
+ :ivar reevaluate: ReevaluateOperations operations
+ :vartype reevaluate: azure.mgmt.securityinsight.operations.ReevaluateOperations
:ivar security_ml_analytics_settings: SecurityMLAnalyticsSettingsOperations operations
:vartype security_ml_analytics_settings:
azure.mgmt.securityinsight.operations.SecurityMLAnalyticsSettingsOperations
@@ -140,24 +207,43 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
operations
:vartype threat_intelligence_indicator_metrics:
azure.mgmt.securityinsight.operations.ThreatIntelligenceIndicatorMetricsOperations
+ :ivar threat_intelligence: ThreatIntelligenceOperations operations
+ :vartype threat_intelligence:
+ azure.mgmt.securityinsight.operations.ThreatIntelligenceOperations
+ :ivar triggered_analytics_rule_run: TriggeredAnalyticsRuleRunOperations operations
+ :vartype triggered_analytics_rule_run:
+ azure.mgmt.securityinsight.operations.TriggeredAnalyticsRuleRunOperations
+ :ivar get_triggered_analytics_rule_runs: GetTriggeredAnalyticsRuleRunsOperations operations
+ :vartype get_triggered_analytics_rule_runs:
+ azure.mgmt.securityinsight.operations.GetTriggeredAnalyticsRuleRunsOperations
+ :ivar alert_rule: AlertRuleOperations operations
+ :vartype alert_rule: azure.mgmt.securityinsight.operations.AlertRuleOperations
:ivar watchlists: WatchlistsOperations operations
:vartype watchlists: azure.mgmt.securityinsight.operations.WatchlistsOperations
:ivar watchlist_items: WatchlistItemsOperations operations
:vartype watchlist_items: azure.mgmt.securityinsight.operations.WatchlistItemsOperations
- :ivar data_connectors: DataConnectorsOperations operations
- :vartype data_connectors: azure.mgmt.securityinsight.operations.DataConnectorsOperations
- :ivar data_connectors_check_requirements: DataConnectorsCheckRequirementsOperations operations
- :vartype data_connectors_check_requirements:
- azure.mgmt.securityinsight.operations.DataConnectorsCheckRequirementsOperations
- :ivar operations: Operations operations
- :vartype operations: azure.mgmt.securityinsight.operations.Operations
+ :ivar workspace_manager_assignments: WorkspaceManagerAssignmentsOperations operations
+ :vartype workspace_manager_assignments:
+ azure.mgmt.securityinsight.operations.WorkspaceManagerAssignmentsOperations
+ :ivar workspace_manager_assignment_jobs: WorkspaceManagerAssignmentJobsOperations operations
+ :vartype workspace_manager_assignment_jobs:
+ azure.mgmt.securityinsight.operations.WorkspaceManagerAssignmentJobsOperations
+ :ivar workspace_manager_configurations: WorkspaceManagerConfigurationsOperations operations
+ :vartype workspace_manager_configurations:
+ azure.mgmt.securityinsight.operations.WorkspaceManagerConfigurationsOperations
+ :ivar workspace_manager_groups: WorkspaceManagerGroupsOperations operations
+ :vartype workspace_manager_groups:
+ azure.mgmt.securityinsight.operations.WorkspaceManagerGroupsOperations
+ :ivar workspace_manager_members: WorkspaceManagerMembersOperations operations
+ :vartype workspace_manager_members:
+ azure.mgmt.securityinsight.operations.WorkspaceManagerMembersOperations
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.TokenCredential
- :param subscription_id: The ID of the target subscription. Required.
+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:param base_url: Service URL. Default value is "https://management.azure.com".
:type base_url: str
- :keyword api_version: Api Version. Default value is "2022-12-01-preview". Note that overriding
+ :keyword api_version: Api Version. Default value is "2024-10-01-preview". Note that overriding
this default value may result in unsupported behavior.
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -172,7 +258,25 @@ def __init__(
**kwargs: Any
) -> None:
self._config = SecurityInsightsConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
- self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+ _policies = kwargs.pop("policies", None)
+ if _policies is None:
+ _policies = [
+ policies.RequestIdPolicy(**kwargs),
+ self._config.headers_policy,
+ self._config.user_agent_policy,
+ self._config.proxy_policy,
+ policies.ContentDecodePolicy(**kwargs),
+ ARMAutoResourceProviderRegistrationPolicy(),
+ self._config.redirect_policy,
+ self._config.retry_policy,
+ self._config.authentication_policy,
+ self._config.custom_hook_policy,
+ self._config.logging_policy,
+ policies.DistributedTracingPolicy(**kwargs),
+ policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
+ self._config.http_logging_policy,
+ ]
+ self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
@@ -186,15 +290,50 @@ def __init__(
self.automation_rules = AutomationRulesOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.entities = EntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
self.incidents = IncidentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.billing_statistics = BillingStatisticsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.bookmarks = BookmarksOperations(self._client, self._config, self._serialize, self._deserialize)
self.bookmark_relations = BookmarkRelationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.bookmark = BookmarkOperations(self._client, self._config, self._serialize, self._deserialize)
- self.ip_geodata = IPGeodataOperations(self._client, self._config, self._serialize, self._deserialize)
- self.domain_whois = DomainWhoisOperations(self._client, self._config, self._serialize, self._deserialize)
- self.entities = EntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.business_application_agents = BusinessApplicationAgentsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.business_application_agent = BusinessApplicationAgentOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.systems = SystemsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.content_packages = ContentPackagesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_package = ContentPackageOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.product_packages = ProductPackagesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.product_package = ProductPackageOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.product_templates = ProductTemplatesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.product_template = ProductTemplateOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_templates = ContentTemplatesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_template = ContentTemplateOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.data_connector_definitions = DataConnectorDefinitionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.data_connectors = DataConnectorsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.data_connectors_check_requirements = DataConnectorsCheckRequirementsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.entities_get_timeline = EntitiesGetTimelineOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -209,6 +348,9 @@ def __init__(
self._client, self._config, self._serialize, self._deserialize
)
self.file_imports = FileImportsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunts = HuntsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunt_relations = HuntRelationsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunt_comments = HuntCommentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.incident_comments = IncidentCommentsOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -221,11 +363,13 @@ def __init__(
self.sentinel_onboarding_states = SentinelOnboardingStatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.get_recommendations = GetRecommendationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.get = GetOperations(self._client, self._config, self._serialize, self._deserialize)
self.update = UpdateOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.reevaluate = ReevaluateOperations(self._client, self._config, self._serialize, self._deserialize)
self.security_ml_analytics_settings = SecurityMLAnalyticsSettingsOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -243,15 +387,35 @@ def __init__(
self.threat_intelligence_indicator_metrics = ThreatIntelligenceIndicatorMetricsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.threat_intelligence = ThreatIntelligenceOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.triggered_analytics_rule_run = TriggeredAnalyticsRuleRunOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.get_triggered_analytics_rule_runs = GetTriggeredAnalyticsRuleRunsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.alert_rule = AlertRuleOperations(self._client, self._config, self._serialize, self._deserialize)
self.watchlists = WatchlistsOperations(self._client, self._config, self._serialize, self._deserialize)
self.watchlist_items = WatchlistItemsOperations(self._client, self._config, self._serialize, self._deserialize)
- self.data_connectors = DataConnectorsOperations(self._client, self._config, self._serialize, self._deserialize)
- self.data_connectors_check_requirements = DataConnectorsCheckRequirementsOperations(
+ self.workspace_manager_assignments = WorkspaceManagerAssignmentsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_assignment_jobs = WorkspaceManagerAssignmentJobsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_configurations = WorkspaceManagerConfigurationsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_groups = WorkspaceManagerGroupsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_members = WorkspaceManagerMembersOperations(
self._client, self._config, self._serialize, self._deserialize
)
- self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
- def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
+ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
"""Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest
@@ -271,14 +435,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
- return self._client.send_request(request_copy, **kwargs)
+ return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
def close(self) -> None:
self._client.close()
- def __enter__(self) -> "SecurityInsights":
+ def __enter__(self) -> Self:
self._client.__enter__()
return self
- def __exit__(self, *exc_details) -> None:
+ def __exit__(self, *exc_details: Any) -> None:
self._client.__exit__(*exc_details)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_serialization.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_serialization.py
index 2c170e28dbca..b24ab2885450 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_serialization.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_serialization.py
@@ -1,3 +1,4 @@
+# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
#
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -24,7 +25,6 @@
#
# --------------------------------------------------------------------------
-# pylint: skip-file
# pyright: reportUnnecessaryTypeIgnoreComment=false
from base64 import b64decode, b64encode
@@ -38,7 +38,21 @@
import re
import sys
import codecs
-from typing import Optional, Union, AnyStr, IO, Mapping
+from typing import (
+ Dict,
+ Any,
+ cast,
+ Optional,
+ Union,
+ AnyStr,
+ IO,
+ Mapping,
+ Callable,
+ TypeVar,
+ MutableMapping,
+ Type,
+ List,
+)
try:
from urllib import quote # type: ignore
@@ -48,12 +62,14 @@
import isodate # type: ignore
-from typing import Dict, Any, cast
-
-from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback
+from azure.core.exceptions import DeserializationError, SerializationError
+from azure.core.serialization import NULL as CoreNull
_BOM = codecs.BOM_UTF8.decode(encoding="utf-8")
+ModelType = TypeVar("ModelType", bound="Model")
+JSON = MutableMapping[str, Any]
+
class RawDeserializer:
@@ -74,6 +90,8 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type:
:param data: Input, could be bytes or stream (will be decoded with UTF8) or text
:type data: str or bytes or IO
:param str content_type: The content type.
+ :return: The deserialized data.
+ :rtype: object
"""
if hasattr(data, "read"):
# Assume a stream
@@ -95,7 +113,7 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type:
try:
return json.loads(data_as_str)
except ValueError as err:
- raise DeserializationError("JSON is invalid: {}".format(err), err)
+ raise DeserializationError("JSON is invalid: {}".format(err), err) from err
elif "xml" in (content_type or []):
try:
@@ -107,7 +125,7 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type:
pass
return ET.fromstring(data_as_str) # nosec
- except ET.ParseError:
+ except ET.ParseError as err:
# It might be because the server has an issue, and returned JSON with
# content-type XML....
# So let's try a JSON load, and if it's still broken
@@ -126,7 +144,9 @@ def _json_attemp(data):
# The function hack is because Py2.7 messes up with exception
# context otherwise.
_LOGGER.critical("Wasn't XML not JSON, failing")
- raise_with_traceback(DeserializationError, "XML is invalid")
+ raise DeserializationError("XML is invalid") from err
+ elif content_type.startswith("text/"):
+ return data_as_str
raise DeserializationError("Cannot deserialize content-type: {}".format(content_type))
@classmethod
@@ -136,6 +156,11 @@ def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]],
Use bytes and headers to NOT use any requests/aiohttp or whatever
specific implementation.
Headers will tested for "content-type"
+
+ :param bytes body_bytes: The body of the response.
+ :param dict headers: The headers of the response.
+ :returns: The deserialized data.
+ :rtype: object
"""
# Try to use content-type from headers if available
content_type = None
@@ -153,13 +178,6 @@ def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]],
return None
-try:
- basestring # type: ignore
- unicode_str = unicode # type: ignore
-except NameError:
- basestring = str
- unicode_str = str
-
_LOGGER = logging.getLogger(__name__)
try:
@@ -172,15 +190,30 @@ class UTC(datetime.tzinfo):
"""Time Zone info for handling UTC"""
def utcoffset(self, dt):
- """UTF offset for UTC is 0."""
+ """UTF offset for UTC is 0.
+
+ :param datetime.datetime dt: The datetime
+ :returns: The offset
+ :rtype: datetime.timedelta
+ """
return datetime.timedelta(0)
def tzname(self, dt):
- """Timestamp representation."""
+ """Timestamp representation.
+
+ :param datetime.datetime dt: The datetime
+ :returns: The timestamp representation
+ :rtype: str
+ """
return "Z"
def dst(self, dt):
- """No daylight saving for UTC."""
+ """No daylight saving for UTC.
+
+ :param datetime.datetime dt: The datetime
+ :returns: The daylight saving time
+ :rtype: datetime.timedelta
+ """
return datetime.timedelta(hours=1)
@@ -194,7 +227,7 @@ class _FixedOffset(datetime.tzinfo): # type: ignore
:param datetime.timedelta offset: offset in timedelta format
"""
- def __init__(self, offset):
+ def __init__(self, offset) -> None:
self.__offset = offset
def utcoffset(self, dt):
@@ -223,24 +256,26 @@ def __getinitargs__(self):
_FLATTEN = re.compile(r"(? None:
+ self.additional_properties: Optional[Dict[str, Any]] = {}
+ for k in kwargs: # pylint: disable=consider-using-dict-items
if k not in self._attribute_map:
_LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__)
elif k in self._validation and self._validation[k].get("readonly", False):
@@ -287,25 +329,35 @@ def __init__(self, **kwargs):
else:
setattr(self, k, kwargs[k])
- def __eq__(self, other):
- """Compare objects by comparing all attributes."""
+ def __eq__(self, other: Any) -> bool:
+ """Compare objects by comparing all attributes.
+
+ :param object other: The object to compare
+ :returns: True if objects are equal
+ :rtype: bool
+ """
if isinstance(other, self.__class__):
return self.__dict__ == other.__dict__
return False
- def __ne__(self, other):
- """Compare objects by comparing all attributes."""
+ def __ne__(self, other: Any) -> bool:
+ """Compare objects by comparing all attributes.
+
+ :param object other: The object to compare
+ :returns: True if objects are not equal
+ :rtype: bool
+ """
return not self.__eq__(other)
- def __str__(self):
+ def __str__(self) -> str:
return str(self.__dict__)
@classmethod
- def enable_additional_properties_sending(cls):
+ def enable_additional_properties_sending(cls) -> None:
cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"}
@classmethod
- def is_xml_model(cls):
+ def is_xml_model(cls) -> bool:
try:
cls._xml_map # type: ignore
except AttributeError:
@@ -314,7 +366,11 @@ def is_xml_model(cls):
@classmethod
def _create_xml_node(cls):
- """Create XML node."""
+ """Create XML node.
+
+ :returns: The XML node
+ :rtype: xml.etree.ElementTree.Element
+ """
try:
xml_map = cls._xml_map # type: ignore
except AttributeError:
@@ -322,8 +378,8 @@ def _create_xml_node(cls):
return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None))
- def serialize(self, keep_readonly=False, **kwargs):
- """Return the JSON that would be sent to azure from this model.
+ def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON:
+ """Return the JSON that would be sent to server from this model.
This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`.
@@ -334,10 +390,17 @@ def serialize(self, keep_readonly=False, **kwargs):
:rtype: dict
"""
serializer = Serializer(self._infer_class_models())
- return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs)
+ return serializer._serialize( # type: ignore # pylint: disable=protected-access
+ self, keep_readonly=keep_readonly, **kwargs
+ )
- def as_dict(self, keep_readonly=True, key_transformer=attribute_transformer, **kwargs):
- """Return a dict that can be JSONify using json.dump.
+ def as_dict(
+ self,
+ keep_readonly: bool = True,
+ key_transformer: Callable[[str, Dict[str, Any], Any], Any] = attribute_transformer,
+ **kwargs: Any
+ ) -> JSON:
+ """Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
@@ -363,12 +426,15 @@ def my_key_transformer(key, attr_desc, value):
If you want XML serialization, you can pass the kwargs is_xml=True.
+ :param bool keep_readonly: If you want to serialize the readonly attributes
:param function key_transformer: A key transformer function.
:returns: A dict JSON compatible object
:rtype: dict
"""
serializer = Serializer(self._infer_class_models())
- return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs)
+ return serializer._serialize( # type: ignore # pylint: disable=protected-access
+ self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs
+ )
@classmethod
def _infer_class_models(cls):
@@ -378,25 +444,31 @@ def _infer_class_models(cls):
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
if cls.__name__ not in client_models:
raise ValueError("Not Autorest generated code")
- except Exception:
+ except Exception: # pylint: disable=broad-exception-caught
# Assume it's not Autorest generated (tests?). Add ourselves as dependencies.
client_models = {cls.__name__: cls}
return client_models
@classmethod
- def deserialize(cls, data, content_type=None):
+ def deserialize(cls: Type[ModelType], data: Any, content_type: Optional[str] = None) -> ModelType:
"""Parse a str using the RestAPI syntax and return a model.
:param str data: A str using RestAPI structure. JSON by default.
:param str content_type: JSON by default, set application/xml if XML.
:returns: An instance of this model
:raises: DeserializationError if something went wrong
+ :rtype: ModelType
"""
deserializer = Deserializer(cls._infer_class_models())
- return deserializer(cls.__name__, data, content_type=content_type)
+ return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod
- def from_dict(cls, data, key_extractors=None, content_type=None):
+ def from_dict(
+ cls: Type[ModelType],
+ data: Any,
+ key_extractors: Optional[Callable[[str, Dict[str, Any], Any], Any]] = None,
+ content_type: Optional[str] = None,
+ ) -> ModelType:
"""Parse a dict using given key extractor return a model.
By default consider key
@@ -404,13 +476,15 @@ def from_dict(cls, data, key_extractors=None, content_type=None):
and last_rest_key_case_insensitive_extractor)
:param dict data: A dict using RestAPI structure
+ :param function key_extractors: A key extractor function.
:param str content_type: JSON by default, set application/xml if XML.
:returns: An instance of this model
:raises: DeserializationError if something went wrong
+ :rtype: ModelType
"""
deserializer = Deserializer(cls._infer_class_models())
- deserializer.key_extractors = (
- [
+ deserializer.key_extractors = ( # type: ignore
+ [ # type: ignore
attribute_key_case_insensitive_extractor,
rest_key_case_insensitive_extractor,
last_rest_key_case_insensitive_extractor,
@@ -418,7 +492,7 @@ def from_dict(cls, data, key_extractors=None, content_type=None):
if key_extractors is None
else key_extractors
)
- return deserializer(cls.__name__, data, content_type=content_type)
+ return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod
def _flatten_subtype(cls, key, objects):
@@ -426,21 +500,25 @@ def _flatten_subtype(cls, key, objects):
return {}
result = dict(cls._subtype_map[key])
for valuetype in cls._subtype_map[key].values():
- result.update(objects[valuetype]._flatten_subtype(key, objects))
+ result.update(objects[valuetype]._flatten_subtype(key, objects)) # pylint: disable=protected-access
return result
@classmethod
def _classify(cls, response, objects):
"""Check the class _subtype_map for any child classes.
We want to ignore any inherited _subtype_maps.
- Remove the polymorphic key from the initial data.
+
+ :param dict response: The initial data
+ :param dict objects: The class objects
+ :returns: The class to be used
+ :rtype: class
"""
for subtype_key in cls.__dict__.get("_subtype_map", {}).keys():
subtype_value = None
if not isinstance(response, ET.Element):
rest_api_response_key = cls._get_rest_key_parts(subtype_key)[-1]
- subtype_value = response.pop(rest_api_response_key, None) or response.pop(subtype_key, None)
+ subtype_value = response.get(rest_api_response_key, None) or response.get(subtype_key, None)
else:
subtype_value = xml_key_extractor(subtype_key, cls._attribute_map[subtype_key], response)
if subtype_value:
@@ -479,11 +557,13 @@ def _decode_attribute_map_key(key):
inside the received data.
:param str key: A key string from the generated code
+ :returns: The decoded key
+ :rtype: str
"""
return key.replace("\\.", ".")
-class Serializer(object):
+class Serializer: # pylint: disable=too-many-public-methods
"""Request object model serializer."""
basic_types = {str: "str", int: "int", bool: "bool", float: "float"}
@@ -518,7 +598,7 @@ class Serializer(object):
"multiple": lambda x, y: x % y != 0,
}
- def __init__(self, classes=None):
+ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None:
self.serialize_type = {
"iso-8601": Serializer.serialize_iso,
"rfc-1123": Serializer.serialize_rfc,
@@ -534,17 +614,20 @@ def __init__(self, classes=None):
"[]": self.serialize_iter,
"{}": self.serialize_dict,
}
- self.dependencies = dict(classes) if classes else {}
+ self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_transformer = full_restapi_key_transformer
self.client_side_validation = True
- def _serialize(self, target_obj, data_type=None, **kwargs):
+ def _serialize( # pylint: disable=too-many-nested-blocks, too-many-branches, too-many-statements, too-many-locals
+ self, target_obj, data_type=None, **kwargs
+ ):
"""Serialize data into a string according to type.
- :param target_obj: The data to be serialized.
+ :param object target_obj: The data to be serialized.
:param str data_type: The type to be serialized from.
:rtype: str, dict
:raises: SerializationError if serialization fails.
+ :returns: The serialized data.
"""
key_transformer = kwargs.get("key_transformer", self.key_transformer)
keep_readonly = kwargs.get("keep_readonly", False)
@@ -570,12 +653,14 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
serialized = {}
if is_xml_model_serialization:
- serialized = target_obj._create_xml_node()
+ serialized = target_obj._create_xml_node() # pylint: disable=protected-access
try:
- attributes = target_obj._attribute_map
+ attributes = target_obj._attribute_map # pylint: disable=protected-access
for attr, attr_desc in attributes.items():
attr_name = attr
- if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False):
+ if not keep_readonly and target_obj._validation.get( # pylint: disable=protected-access
+ attr_name, {}
+ ).get("readonly", False):
continue
if attr_name == "additional_properties" and attr_desc["key"] == "":
@@ -602,7 +687,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
if xml_desc.get("attr", False):
if xml_ns:
ET.register_namespace(xml_prefix, xml_ns)
- xml_name = "{}{}".format(xml_ns, xml_name)
+ xml_name = "{{{}}}{}".format(xml_ns, xml_name)
serialized.set(xml_name, new_attr) # type: ignore
continue
if xml_desc.get("text", False):
@@ -611,7 +696,8 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
if isinstance(new_attr, list):
serialized.extend(new_attr) # type: ignore
elif isinstance(new_attr, ET.Element):
- # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces.
+ # If the down XML has no XML/Name,
+ # we MUST replace the tag with the local tag. But keeping the namespaces.
if "name" not in getattr(orig_attr, "_xml_map", {}):
splitted_tag = new_attr.tag.split("}")
if len(splitted_tag) == 2: # Namespace
@@ -622,12 +708,11 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
else: # That's a basic type
# Integrate namespace if necessary
local_node = _create_xml_node(xml_name, xml_prefix, xml_ns)
- local_node.text = unicode_str(new_attr)
+ local_node.text = str(new_attr)
serialized.append(local_node) # type: ignore
else: # JSON
for k in reversed(keys): # type: ignore
- unflattened = {k: new_attr}
- new_attr = unflattened
+ new_attr = {k: new_attr}
_new_attr = new_attr
_serialized = serialized
@@ -636,28 +721,29 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
_serialized.update(_new_attr) # type: ignore
_new_attr = _new_attr[k] # type: ignore
_serialized = _serialized[k]
- except ValueError:
- continue
+ except ValueError as err:
+ if isinstance(err, SerializationError):
+ raise
except (AttributeError, KeyError, TypeError) as err:
msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj))
- raise_with_traceback(SerializationError, msg, err)
- else:
- return serialized
+ raise SerializationError(msg) from err
+ return serialized
def body(self, data, data_type, **kwargs):
"""Serialize data intended for a request body.
- :param data: The data to be serialized.
+ :param object data: The data to be serialized.
:param str data_type: The type to be serialized from.
:rtype: dict
:raises: SerializationError if serialization fails.
:raises: ValueError if data is None
+ :returns: The serialized request body
"""
# Just in case this is a dict
- internal_data_type = data_type.strip("[]{}")
- internal_data_type = self.dependencies.get(internal_data_type, None)
+ internal_data_type_str = data_type.strip("[]{}")
+ internal_data_type = self.dependencies.get(internal_data_type_str, None)
try:
is_xml_model_serialization = kwargs["is_xml"]
except KeyError:
@@ -681,18 +767,20 @@ def body(self, data, data_type, **kwargs):
attribute_key_case_insensitive_extractor,
last_rest_key_case_insensitive_extractor,
]
- data = deserializer._deserialize(data_type, data)
+ data = deserializer._deserialize(data_type, data) # pylint: disable=protected-access
except DeserializationError as err:
- raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err)
+ raise SerializationError("Unable to build a model: " + str(err)) from err
return self._serialize(data, data_type, **kwargs)
def url(self, name, data, data_type, **kwargs):
"""Serialize data intended for a URL path.
- :param data: The data to be serialized.
+ :param str name: The name of the URL path parameter.
+ :param object data: The data to be serialized.
:param str data_type: The type to be serialized from.
:rtype: str
+ :returns: The serialized URL path
:raises: TypeError if serialization fails.
:raises: ValueError if data is None
"""
@@ -703,30 +791,30 @@ def url(self, name, data, data_type, **kwargs):
if kwargs.get("skip_quote") is True:
output = str(output)
+ output = output.replace("{", quote("{")).replace("}", quote("}"))
else:
output = quote(str(output), safe="")
- except SerializationError:
- raise TypeError("{} must be type {}.".format(name, data_type))
- else:
- return output
+ except SerializationError as exc:
+ raise TypeError("{} must be type {}.".format(name, data_type)) from exc
+ return output
def query(self, name, data, data_type, **kwargs):
"""Serialize data intended for a URL query.
- :param data: The data to be serialized.
+ :param str name: The name of the query parameter.
+ :param object data: The data to be serialized.
:param str data_type: The type to be serialized from.
- :rtype: str
+ :rtype: str, list
:raises: TypeError if serialization fails.
:raises: ValueError if data is None
+ :returns: The serialized query parameter
"""
try:
# Treat the list aside, since we don't want to encode the div separator
if data_type.startswith("["):
internal_data_type = data_type[1:-1]
- data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data]
- if not kwargs.get("skip_quote", False):
- data = [quote(str(d), safe="") for d in data]
- return str(self.serialize_iter(data, internal_data_type, **kwargs))
+ do_quote = not kwargs.get("skip_quote", False)
+ return self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)
# Not a list, regular serialization
output = self.serialize_data(data, data_type, **kwargs)
@@ -736,19 +824,20 @@ def query(self, name, data, data_type, **kwargs):
output = str(output)
else:
output = quote(str(output), safe="")
- except SerializationError:
- raise TypeError("{} must be type {}.".format(name, data_type))
- else:
- return str(output)
+ except SerializationError as exc:
+ raise TypeError("{} must be type {}.".format(name, data_type)) from exc
+ return str(output)
def header(self, name, data, data_type, **kwargs):
"""Serialize data intended for a request header.
- :param data: The data to be serialized.
+ :param str name: The name of the header.
+ :param object data: The data to be serialized.
:param str data_type: The type to be serialized from.
:rtype: str
:raises: TypeError if serialization fails.
:raises: ValueError if data is None
+ :returns: The serialized header
"""
try:
if data_type in ["[str]"]:
@@ -757,30 +846,31 @@ def header(self, name, data, data_type, **kwargs):
output = self.serialize_data(data, data_type, **kwargs)
if data_type == "bool":
output = json.dumps(output)
- except SerializationError:
- raise TypeError("{} must be type {}.".format(name, data_type))
- else:
- return str(output)
+ except SerializationError as exc:
+ raise TypeError("{} must be type {}.".format(name, data_type)) from exc
+ return str(output)
def serialize_data(self, data, data_type, **kwargs):
"""Serialize generic data according to supplied data type.
- :param data: The data to be serialized.
+ :param object data: The data to be serialized.
:param str data_type: The type to be serialized from.
- :param bool required: Whether it's essential that the data not be
- empty or None
:raises: AttributeError if required data is None.
:raises: ValueError if data is None
:raises: SerializationError if serialization fails.
+ :returns: The serialized data.
+ :rtype: str, int, float, bool, dict, list
"""
if data is None:
raise ValueError("No value for given attribute")
try:
+ if data is CoreNull:
+ return None
if data_type in self.basic_types.values():
return self.serialize_basic(data, data_type, **kwargs)
- elif data_type in self.serialize_type:
+ if data_type in self.serialize_type:
return self.serialize_type[data_type](data, **kwargs)
# If dependencies is empty, try with current data class
@@ -795,12 +885,11 @@ def serialize_data(self, data, data_type, **kwargs):
except (ValueError, TypeError) as err:
msg = "Unable to serialize value: {!r} as type: {!r}."
- raise_with_traceback(SerializationError, msg.format(data, data_type), err)
- else:
- return self._serialize(data, **kwargs)
+ raise SerializationError(msg.format(data, data_type)) from err
+ return self._serialize(data, **kwargs)
@classmethod
- def _get_custom_serializers(cls, data_type, **kwargs):
+ def _get_custom_serializers(cls, data_type, **kwargs): # pylint: disable=inconsistent-return-statements
custom_serializer = kwargs.get("basic_types_serializers", {}).get(data_type)
if custom_serializer:
return custom_serializer
@@ -816,23 +905,26 @@ def serialize_basic(cls, data, data_type, **kwargs):
- basic_types_serializers dict[str, callable] : If set, use the callable as serializer
- is_xml bool : If set, use xml_basic_types_serializers
- :param data: Object to be serialized.
+ :param obj data: Object to be serialized.
:param str data_type: Type of object in the iterable.
+ :rtype: str, int, float, bool
+ :return: serialized object
"""
custom_serializer = cls._get_custom_serializers(data_type, **kwargs)
if custom_serializer:
return custom_serializer(data)
if data_type == "str":
return cls.serialize_unicode(data)
- return eval(data_type)(data) # nosec
+ return eval(data_type)(data) # nosec # pylint: disable=eval-used
@classmethod
def serialize_unicode(cls, data):
"""Special handling for serializing unicode strings in Py2.
Encode to UTF-8 if unicode, otherwise handle as a str.
- :param data: Object to be serialized.
+ :param str data: Object to be serialized.
:rtype: str
+ :return: serialized object
"""
try: # If I received an enum, return its value
return data.value
@@ -846,8 +938,7 @@ def serialize_unicode(cls, data):
return data
except NameError:
return str(data)
- else:
- return str(data)
+ return str(data)
def serialize_iter(self, data, iter_type, div=None, **kwargs):
"""Serialize iterable.
@@ -857,13 +948,13 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs):
serialization_ctxt['type'] should be same as data_type.
- is_xml bool : If set, serialize as XML
- :param list attr: Object to be serialized.
+ :param list data: Object to be serialized.
:param str iter_type: Type of object in the iterable.
- :param bool required: Whether the objects in the iterable must
- not be None or empty.
:param str div: If set, this str will be used to combine the elements
in the iterable into a combined string. Default is 'None'.
+ Defaults to False.
:rtype: list, str
+ :return: serialized iterable
"""
if isinstance(data, str):
raise SerializationError("Refuse str type as a valid iter type.")
@@ -875,9 +966,14 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs):
for d in data:
try:
serialized.append(self.serialize_data(d, iter_type, **kwargs))
- except ValueError:
+ except ValueError as err:
+ if isinstance(err, SerializationError):
+ raise
serialized.append(None)
+ if kwargs.get("do_quote", False):
+ serialized = ["" if s is None else quote(str(s), safe="") for s in serialized]
+
if div:
serialized = ["" if s is None else str(s) for s in serialized]
serialized = div.join(serialized)
@@ -913,16 +1009,17 @@ def serialize_dict(self, attr, dict_type, **kwargs):
:param dict attr: Object to be serialized.
:param str dict_type: Type of object in the dictionary.
- :param bool required: Whether the objects in the dictionary must
- not be None or empty.
:rtype: dict
+ :return: serialized dictionary
"""
serialization_ctxt = kwargs.get("serialization_ctxt", {})
serialized = {}
for key, value in attr.items():
try:
serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs)
- except ValueError:
+ except ValueError as err:
+ if isinstance(err, SerializationError):
+ raise
serialized[self.serialize_unicode(key)] = None
if "xml" in serialization_ctxt:
@@ -937,7 +1034,7 @@ def serialize_dict(self, attr, dict_type, **kwargs):
return serialized
- def serialize_object(self, attr, **kwargs):
+ def serialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements
"""Serialize a generic object.
This will be handled as a dictionary. If object passed in is not
a basic type (str, int, float, dict, list) it will simply be
@@ -945,6 +1042,7 @@ def serialize_object(self, attr, **kwargs):
:param dict attr: Object to be serialized.
:rtype: dict or str
+ :return: serialized object
"""
if attr is None:
return None
@@ -955,7 +1053,7 @@ def serialize_object(self, attr, **kwargs):
return self.serialize_basic(attr, self.basic_types[obj_type], **kwargs)
if obj_type is _long_type:
return self.serialize_long(attr)
- if obj_type is unicode_str:
+ if obj_type is str:
return self.serialize_unicode(attr)
if obj_type is datetime.datetime:
return self.serialize_iso(attr)
@@ -969,7 +1067,7 @@ def serialize_object(self, attr, **kwargs):
return self.serialize_decimal(attr)
# If it's a model or I know this dependency, serialize as a Model
- elif obj_type in self.dependencies.values() or isinstance(attr, Model):
+ if obj_type in self.dependencies.values() or isinstance(attr, Model):
return self._serialize(attr)
if obj_type == dict:
@@ -1000,56 +1098,61 @@ def serialize_enum(attr, enum_obj=None):
try:
enum_obj(result) # type: ignore
return result
- except ValueError:
+ except ValueError as exc:
for enum_value in enum_obj: # type: ignore
if enum_value.value.lower() == str(attr).lower():
return enum_value.value
error = "{!r} is not valid value for enum {!r}"
- raise SerializationError(error.format(attr, enum_obj))
+ raise SerializationError(error.format(attr, enum_obj)) from exc
@staticmethod
- def serialize_bytearray(attr, **kwargs):
+ def serialize_bytearray(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize bytearray into base-64 string.
- :param attr: Object to be serialized.
+ :param str attr: Object to be serialized.
:rtype: str
+ :return: serialized base64
"""
return b64encode(attr).decode()
@staticmethod
- def serialize_base64(attr, **kwargs):
+ def serialize_base64(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize str into base-64 string.
- :param attr: Object to be serialized.
+ :param str attr: Object to be serialized.
:rtype: str
+ :return: serialized base64
"""
encoded = b64encode(attr).decode("ascii")
return encoded.strip("=").replace("+", "-").replace("/", "_")
@staticmethod
- def serialize_decimal(attr, **kwargs):
+ def serialize_decimal(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Decimal object to float.
- :param attr: Object to be serialized.
+ :param decimal attr: Object to be serialized.
:rtype: float
+ :return: serialized decimal
"""
return float(attr)
@staticmethod
- def serialize_long(attr, **kwargs):
+ def serialize_long(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize long (Py2) or int (Py3).
- :param attr: Object to be serialized.
+ :param int attr: Object to be serialized.
:rtype: int/long
+ :return: serialized long
"""
return _long_type(attr)
@staticmethod
- def serialize_date(attr, **kwargs):
+ def serialize_date(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Date object into ISO-8601 formatted string.
:param Date attr: Object to be serialized.
:rtype: str
+ :return: serialized date
"""
if isinstance(attr, str):
attr = isodate.parse_date(attr)
@@ -1057,11 +1160,12 @@ def serialize_date(attr, **kwargs):
return t
@staticmethod
- def serialize_time(attr, **kwargs):
+ def serialize_time(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Time object into ISO-8601 formatted string.
:param datetime.time attr: Object to be serialized.
:rtype: str
+ :return: serialized time
"""
if isinstance(attr, str):
attr = isodate.parse_time(attr)
@@ -1071,30 +1175,32 @@ def serialize_time(attr, **kwargs):
return t
@staticmethod
- def serialize_duration(attr, **kwargs):
+ def serialize_duration(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize TimeDelta object into ISO-8601 formatted string.
:param TimeDelta attr: Object to be serialized.
:rtype: str
+ :return: serialized duration
"""
if isinstance(attr, str):
attr = isodate.parse_duration(attr)
return isodate.duration_isoformat(attr)
@staticmethod
- def serialize_rfc(attr, **kwargs):
+ def serialize_rfc(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Datetime object into RFC-1123 formatted string.
:param Datetime attr: Object to be serialized.
:rtype: str
:raises: TypeError if format invalid.
+ :return: serialized rfc
"""
try:
if not attr.tzinfo:
_LOGGER.warning("Datetime with no tzinfo will be considered UTC.")
utc = attr.utctimetuple()
- except AttributeError:
- raise TypeError("RFC1123 object must be valid Datetime object.")
+ except AttributeError as exc:
+ raise TypeError("RFC1123 object must be valid Datetime object.") from exc
return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format(
Serializer.days[utc.tm_wday],
@@ -1107,12 +1213,13 @@ def serialize_rfc(attr, **kwargs):
)
@staticmethod
- def serialize_iso(attr, **kwargs):
+ def serialize_iso(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Datetime object into ISO-8601 formatted string.
:param Datetime attr: Object to be serialized.
:rtype: str
:raises: SerializationError if format invalid.
+ :return: serialized iso
"""
if isinstance(attr, str):
attr = isodate.parse_datetime(attr)
@@ -1132,19 +1239,20 @@ def serialize_iso(attr, **kwargs):
return date + microseconds + "Z"
except (ValueError, OverflowError) as err:
msg = "Unable to serialize datetime object."
- raise_with_traceback(SerializationError, msg, err)
+ raise SerializationError(msg) from err
except AttributeError as err:
msg = "ISO-8601 object must be valid Datetime object."
- raise_with_traceback(TypeError, msg, err)
+ raise TypeError(msg) from err
@staticmethod
- def serialize_unix(attr, **kwargs):
+ def serialize_unix(attr, **kwargs): # pylint: disable=unused-argument
"""Serialize Datetime object into IntTime format.
This is represented as seconds.
:param Datetime attr: Object to be serialized.
:rtype: int
:raises: SerializationError if format invalid
+ :return: serialied unix
"""
if isinstance(attr, int):
return attr
@@ -1152,16 +1260,17 @@ def serialize_unix(attr, **kwargs):
if not attr.tzinfo:
_LOGGER.warning("Datetime with no tzinfo will be considered UTC.")
return int(calendar.timegm(attr.utctimetuple()))
- except AttributeError:
- raise TypeError("Unix time object must be valid Datetime object.")
+ except AttributeError as exc:
+ raise TypeError("Unix time object must be valid Datetime object.") from exc
-def rest_key_extractor(attr, attr_desc, data):
+def rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
key = attr_desc["key"]
working_data = data
while "." in key:
- dict_keys = _FLATTEN.split(key)
+ # Need the cast, as for some reasons "split" is typed as list[str | Any]
+ dict_keys = cast(List[str], _FLATTEN.split(key))
if len(dict_keys) == 1:
key = _decode_attribute_map_key(dict_keys[0])
break
@@ -1170,14 +1279,15 @@ def rest_key_extractor(attr, attr_desc, data):
if working_data is None:
# If at any point while following flatten JSON path see None, it means
# that all properties under are None as well
- # https://github.com/Azure/msrest-for-python/issues/197
return None
key = ".".join(dict_keys[1:])
return working_data.get(key)
-def rest_key_case_insensitive_extractor(attr, attr_desc, data):
+def rest_key_case_insensitive_extractor( # pylint: disable=unused-argument, inconsistent-return-statements
+ attr, attr_desc, data
+):
key = attr_desc["key"]
working_data = data
@@ -1191,7 +1301,6 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data):
if working_data is None:
# If at any point while following flatten JSON path see None, it means
# that all properties under are None as well
- # https://github.com/Azure/msrest-for-python/issues/197
return None
key = ".".join(dict_keys[1:])
@@ -1199,17 +1308,29 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data):
return attribute_key_case_insensitive_extractor(key, None, working_data)
-def last_rest_key_extractor(attr, attr_desc, data):
- """Extract the attribute in "data" based on the last part of the JSON path key."""
+def last_rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
+ """Extract the attribute in "data" based on the last part of the JSON path key.
+
+ :param str attr: The attribute to extract
+ :param dict attr_desc: The attribute description
+ :param dict data: The data to extract from
+ :rtype: object
+ :returns: The extracted attribute
+ """
key = attr_desc["key"]
dict_keys = _FLATTEN.split(key)
return attribute_key_extractor(dict_keys[-1], None, data)
-def last_rest_key_case_insensitive_extractor(attr, attr_desc, data):
+def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): # pylint: disable=unused-argument
"""Extract the attribute in "data" based on the last part of the JSON path key.
This is the case insensitive version of "last_rest_key_extractor"
+ :param str attr: The attribute to extract
+ :param dict attr_desc: The attribute description
+ :param dict data: The data to extract from
+ :rtype: object
+ :returns: The extracted attribute
"""
key = attr_desc["key"]
dict_keys = _FLATTEN.split(key)
@@ -1242,11 +1363,11 @@ def _extract_name_from_internal_type(internal_type):
xml_name = internal_type_xml_map.get("name", internal_type.__name__)
xml_ns = internal_type_xml_map.get("ns", None)
if xml_ns:
- xml_name = "{}{}".format(xml_ns, xml_name)
+ xml_name = "{{{}}}{}".format(xml_ns, xml_name)
return xml_name
-def xml_key_extractor(attr, attr_desc, data):
+def xml_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument,too-many-return-statements
if isinstance(data, dict):
return None
@@ -1266,7 +1387,7 @@ def xml_key_extractor(attr, attr_desc, data):
# Integrate namespace if necessary
xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None))
if xml_ns:
- xml_name = "{}{}".format(xml_ns, xml_name)
+ xml_name = "{{{}}}{}".format(xml_ns, xml_name)
# If it's an attribute, that's simple
if xml_desc.get("attr", False):
@@ -1298,22 +1419,21 @@ def xml_key_extractor(attr, attr_desc, data):
if is_iter_type:
if is_wrapped:
return None # is_wrapped no node, we want None
- else:
- return [] # not wrapped, assume empty list
+ return [] # not wrapped, assume empty list
return None # Assume it's not there, maybe an optional node.
# If is_iter_type and not wrapped, return all found children
if is_iter_type:
if not is_wrapped:
return children
- else: # Iter and wrapped, should have found one node only (the wrap one)
- if len(children) != 1:
- raise DeserializationError(
- "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format(
- xml_name
- )
+ # Iter and wrapped, should have found one node only (the wrap one)
+ if len(children) != 1:
+ raise DeserializationError(
+ "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( # pylint: disable=line-too-long
+ xml_name
)
- return list(children[0]) # Might be empty list and that's ok.
+ )
+ return list(children[0]) # Might be empty list and that's ok.
# Here it's not a itertype, we should have found one element only or empty
if len(children) > 1:
@@ -1321,7 +1441,7 @@ def xml_key_extractor(attr, attr_desc, data):
return children[0]
-class Deserializer(object):
+class Deserializer:
"""Response object model deserializer.
:param dict classes: Class type dictionary for deserializing complex types.
@@ -1330,9 +1450,9 @@ class Deserializer(object):
basic_types = {str: "str", int: "int", bool: "bool", float: "float"}
- valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
+ valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
- def __init__(self, classes=None):
+ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None:
self.deserialize_type = {
"iso-8601": Deserializer.deserialize_iso,
"rfc-1123": Deserializer.deserialize_rfc,
@@ -1352,7 +1472,7 @@ def __init__(self, classes=None):
"duration": (isodate.Duration, datetime.timedelta),
"iso-8601": (datetime.datetime),
}
- self.dependencies = dict(classes) if classes else {}
+ self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_extractors = [rest_key_extractor, xml_key_extractor]
# Additional properties only works if the "rest_key_extractor" is used to
# extract the keys. Making it to work whatever the key extractor is too much
@@ -1370,11 +1490,12 @@ def __call__(self, target_obj, response_data, content_type=None):
:param str content_type: Swagger "produces" if available.
:raises: DeserializationError if deserialization fails.
:return: Deserialized object.
+ :rtype: object
"""
data = self._unpack_content(response_data, content_type)
return self._deserialize(target_obj, data)
- def _deserialize(self, target_obj, data):
+ def _deserialize(self, target_obj, data): # pylint: disable=inconsistent-return-statements
"""Call the deserializer on a model.
Data needs to be already deserialized as JSON or XML ElementTree
@@ -1383,12 +1504,13 @@ def _deserialize(self, target_obj, data):
:param object data: Object to deserialize.
:raises: DeserializationError if deserialization fails.
:return: Deserialized object.
+ :rtype: object
"""
# This is already a model, go recursive just in case
if hasattr(data, "_attribute_map"):
constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")]
try:
- for attr, mapconfig in data._attribute_map.items():
+ for attr, mapconfig in data._attribute_map.items(): # pylint: disable=protected-access
if attr in constants:
continue
value = getattr(data, attr)
@@ -1405,15 +1527,15 @@ def _deserialize(self, target_obj, data):
response, class_name = self._classify_target(target_obj, data)
- if isinstance(response, basestring):
+ if isinstance(response, str):
return self.deserialize_data(data, response)
- elif isinstance(response, type) and issubclass(response, Enum):
+ if isinstance(response, type) and issubclass(response, Enum):
return self.deserialize_enum(data, response)
- if data is None:
+ if data is None or data is CoreNull:
return data
try:
- attributes = response._attribute_map # type: ignore
+ attributes = response._attribute_map # type: ignore # pylint: disable=protected-access
d_attrs = {}
for attr, attr_desc in attributes.items():
# Check empty string. If it's not empty, someone has a real "additionalProperties"...
@@ -1442,10 +1564,9 @@ def _deserialize(self, target_obj, data):
d_attrs[attr] = value
except (AttributeError, TypeError, KeyError) as err:
msg = "Unable to deserialize to object: " + class_name # type: ignore
- raise_with_traceback(DeserializationError, msg, err)
- else:
- additional_properties = self._build_additional_properties(attributes, data)
- return self._instantiate_model(response, d_attrs, additional_properties)
+ raise DeserializationError(msg) from err
+ additional_properties = self._build_additional_properties(attributes, data)
+ return self._instantiate_model(response, d_attrs, additional_properties)
def _build_additional_properties(self, attribute_map, data):
if not self.additional_properties_detection:
@@ -1471,22 +1592,24 @@ def _classify_target(self, target, data):
Once classification has been determined, initialize object.
:param str target: The target object type to deserialize to.
- :param str/dict data: The response data to deseralize.
+ :param str/dict data: The response data to deserialize.
+ :return: The classified target object and its class name.
+ :rtype: tuple
"""
if target is None:
return None, None
- if isinstance(target, basestring):
+ if isinstance(target, str):
try:
target = self.dependencies[target]
except KeyError:
return target, target
try:
- target = target._classify(data, self.dependencies)
+ target = target._classify(data, self.dependencies) # type: ignore # pylint: disable=protected-access
except AttributeError:
pass # Target is not a Model, no classify
- return target, target.__class__.__name__
+ return target, target.__class__.__name__ # type: ignore
def failsafe_deserialize(self, target_obj, data, content_type=None):
"""Ignores any errors encountered in deserialization,
@@ -1496,12 +1619,14 @@ def failsafe_deserialize(self, target_obj, data, content_type=None):
a deserialization error.
:param str target_obj: The target object type to deserialize to.
- :param str/dict data: The response data to deseralize.
+ :param str/dict data: The response data to deserialize.
:param str content_type: Swagger "produces" if available.
+ :return: Deserialized object.
+ :rtype: object
"""
try:
return self(target_obj, data, content_type=content_type)
- except:
+ except: # pylint: disable=bare-except
_LOGGER.debug(
"Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True
)
@@ -1519,10 +1644,12 @@ def _unpack_content(raw_data, content_type=None):
If raw_data is something else, bypass all logic and return it directly.
- :param raw_data: Data to be processed.
- :param content_type: How to parse if raw_data is a string/bytes.
+ :param obj raw_data: Data to be processed.
+ :param str content_type: How to parse if raw_data is a string/bytes.
:raises JSONDecodeError: If JSON is requested and parsing is impossible.
:raises UnicodeDecodeError: If bytes is not UTF8
+ :rtype: object
+ :return: Unpacked content.
"""
# Assume this is enough to detect a Pipeline Response without importing it
context = getattr(raw_data, "context", {})
@@ -1539,31 +1666,42 @@ def _unpack_content(raw_data, content_type=None):
if hasattr(raw_data, "_content_consumed"):
return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers)
- if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"):
+ if isinstance(raw_data, (str, bytes)) or hasattr(raw_data, "read"):
return RawDeserializer.deserialize_from_text(raw_data, content_type) # type: ignore
return raw_data
def _instantiate_model(self, response, attrs, additional_properties=None):
"""Instantiate a response model passing in deserialized args.
- :param response: The response model class.
- :param d_attrs: The deserialized response attributes.
+ :param Response response: The response model class.
+ :param dict attrs: The deserialized response attributes.
+ :param dict additional_properties: Additional properties to be set.
+ :rtype: Response
+ :return: The instantiated response model.
"""
if callable(response):
subtype = getattr(response, "_subtype_map", {})
try:
- readonly = [k for k, v in response._validation.items() if v.get("readonly")]
- const = [k for k, v in response._validation.items() if v.get("constant")]
+ readonly = [
+ k
+ for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore
+ if v.get("readonly")
+ ]
+ const = [
+ k
+ for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore
+ if v.get("constant")
+ ]
kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const}
response_obj = response(**kwargs)
for attr in readonly:
setattr(response_obj, attr, attrs.get(attr))
if additional_properties:
- response_obj.additional_properties = additional_properties
+ response_obj.additional_properties = additional_properties # type: ignore
return response_obj
except TypeError as err:
msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) # type: ignore
- raise DeserializationError(msg + str(err))
+ raise DeserializationError(msg + str(err)) from err
else:
try:
for attr, value in attrs.items():
@@ -1572,15 +1710,16 @@ def _instantiate_model(self, response, attrs, additional_properties=None):
except Exception as exp:
msg = "Unable to populate response model. "
msg += "Type: {}, Error: {}".format(type(response), exp)
- raise DeserializationError(msg)
+ raise DeserializationError(msg) from exp
- def deserialize_data(self, data, data_type):
+ def deserialize_data(self, data, data_type): # pylint: disable=too-many-return-statements
"""Process data for deserialization according to data type.
:param str data: The response string to be deserialized.
:param str data_type: The type to deserialize to.
:raises: DeserializationError if deserialization fails.
:return: Deserialized object.
+ :rtype: object
"""
if data is None:
return data
@@ -1594,7 +1733,11 @@ def deserialize_data(self, data, data_type):
if isinstance(data, self.deserialize_expected_types.get(data_type, tuple())):
return data
- is_a_text_parsing_type = lambda x: x not in ["object", "[]", r"{}"]
+ is_a_text_parsing_type = lambda x: x not in [ # pylint: disable=unnecessary-lambda-assignment
+ "object",
+ "[]",
+ r"{}",
+ ]
if isinstance(data, ET.Element) and is_a_text_parsing_type(data_type) and not data.text:
return None
data_val = self.deserialize_type[data_type](data)
@@ -1613,15 +1756,15 @@ def deserialize_data(self, data, data_type):
except (ValueError, TypeError, AttributeError) as err:
msg = "Unable to deserialize response data."
msg += " Data: {}, {}".format(data, data_type)
- raise_with_traceback(DeserializationError, msg, err)
- else:
- return self._deserialize(obj_type, data)
+ raise DeserializationError(msg) from err
+ return self._deserialize(obj_type, data)
def deserialize_iter(self, attr, iter_type):
"""Deserialize an iterable.
:param list attr: Iterable to be deserialized.
:param str iter_type: The type of object in the iterable.
+ :return: Deserialized iterable.
:rtype: list
"""
if attr is None:
@@ -1638,6 +1781,7 @@ def deserialize_dict(self, attr, dict_type):
:param dict/list attr: Dictionary to be deserialized. Also accepts
a list of key, value pairs.
:param str dict_type: The object type of the items in the dictionary.
+ :return: Deserialized dictionary.
:rtype: dict
"""
if isinstance(attr, list):
@@ -1648,11 +1792,12 @@ def deserialize_dict(self, attr, dict_type):
attr = {el.tag: el.text for el in attr}
return {k: self.deserialize_data(v, dict_type) for k, v in attr.items()}
- def deserialize_object(self, attr, **kwargs):
+ def deserialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements
"""Deserialize a generic object.
This will be handled as a dictionary.
:param dict attr: Dictionary to be deserialized.
+ :return: Deserialized object.
:rtype: dict
:raises: TypeError if non-builtin datatype encountered.
"""
@@ -1661,7 +1806,7 @@ def deserialize_object(self, attr, **kwargs):
if isinstance(attr, ET.Element):
# Do no recurse on XML, just return the tree as-is
return attr
- if isinstance(attr, basestring):
+ if isinstance(attr, str):
return self.deserialize_basic(attr, "str")
obj_type = type(attr)
if obj_type in self.basic_types:
@@ -1687,11 +1832,10 @@ def deserialize_object(self, attr, **kwargs):
pass
return deserialized
- else:
- error = "Cannot deserialize generic object with type: "
- raise TypeError(error + str(obj_type))
+ error = "Cannot deserialize generic object with type: "
+ raise TypeError(error + str(obj_type))
- def deserialize_basic(self, attr, data_type):
+ def deserialize_basic(self, attr, data_type): # pylint: disable=too-many-return-statements
"""Deserialize basic builtin data type from string.
Will attempt to convert to str, int, float and bool.
This function will also accept '1', '0', 'true' and 'false' as
@@ -1699,6 +1843,7 @@ def deserialize_basic(self, attr, data_type):
:param str attr: response string to be deserialized.
:param str data_type: deserialization data type.
+ :return: Deserialized basic type.
:rtype: str, int, float or bool
:raises: TypeError if string format is not valid.
"""
@@ -1710,24 +1855,23 @@ def deserialize_basic(self, attr, data_type):
if data_type == "str":
# None or '', node is empty string.
return ""
- else:
- # None or '', node with a strong type is None.
- # Don't try to model "empty bool" or "empty int"
- return None
+ # None or '', node with a strong type is None.
+ # Don't try to model "empty bool" or "empty int"
+ return None
if data_type == "bool":
if attr in [True, False, 1, 0]:
return bool(attr)
- elif isinstance(attr, basestring):
+ if isinstance(attr, str):
if attr.lower() in ["true", "1"]:
return True
- elif attr.lower() in ["false", "0"]:
+ if attr.lower() in ["false", "0"]:
return False
raise TypeError("Invalid boolean value: {}".format(attr))
if data_type == "str":
return self.deserialize_unicode(attr)
- return eval(data_type)(attr) # nosec
+ return eval(data_type)(attr) # nosec # pylint: disable=eval-used
@staticmethod
def deserialize_unicode(data):
@@ -1735,6 +1879,7 @@ def deserialize_unicode(data):
as a string.
:param str data: response string to be deserialized.
+ :return: Deserialized string.
:rtype: str or unicode
"""
# We might be here because we have an enum modeled as string,
@@ -1748,8 +1893,7 @@ def deserialize_unicode(data):
return data
except NameError:
return str(data)
- else:
- return str(data)
+ return str(data)
@staticmethod
def deserialize_enum(data, enum_obj):
@@ -1761,6 +1905,7 @@ def deserialize_enum(data, enum_obj):
:param str data: Response string to be deserialized. If this value is
None or invalid it will be returned as-is.
:param Enum enum_obj: Enum object to deserialize to.
+ :return: Deserialized enum object.
:rtype: Enum
"""
if isinstance(data, enum_obj) or data is None:
@@ -1769,12 +1914,11 @@ def deserialize_enum(data, enum_obj):
data = data.value
if isinstance(data, int):
# Workaround. We might consider remove it in the future.
- # https://github.com/Azure/azure-rest-api-specs/issues/141
try:
return list(enum_obj.__members__.values())[data]
- except IndexError:
+ except IndexError as exc:
error = "{!r} is not a valid index for enum {!r}"
- raise DeserializationError(error.format(data, enum_obj))
+ raise DeserializationError(error.format(data, enum_obj)) from exc
try:
return enum_obj(str(data))
except ValueError:
@@ -1790,6 +1934,7 @@ def deserialize_bytearray(attr):
"""Deserialize string into bytearray.
:param str attr: response string to be deserialized.
+ :return: Deserialized bytearray
:rtype: bytearray
:raises: TypeError if string format invalid.
"""
@@ -1802,6 +1947,7 @@ def deserialize_base64(attr):
"""Deserialize base64 encoded string into string.
:param str attr: response string to be deserialized.
+ :return: Deserialized base64 string
:rtype: bytearray
:raises: TypeError if string format invalid.
"""
@@ -1817,22 +1963,24 @@ def deserialize_decimal(attr):
"""Deserialize string into Decimal object.
:param str attr: response string to be deserialized.
- :rtype: Decimal
+ :return: Deserialized decimal
:raises: DeserializationError if string format invalid.
+ :rtype: decimal
"""
if isinstance(attr, ET.Element):
attr = attr.text
try:
- return decimal.Decimal(attr) # type: ignore
+ return decimal.Decimal(str(attr)) # type: ignore
except decimal.DecimalException as err:
msg = "Invalid decimal {}".format(attr)
- raise_with_traceback(DeserializationError, msg, err)
+ raise DeserializationError(msg) from err
@staticmethod
def deserialize_long(attr):
"""Deserialize string into long (Py2) or int (Py3).
:param str attr: response string to be deserialized.
+ :return: Deserialized int
:rtype: long or int
:raises: ValueError if string format invalid.
"""
@@ -1845,6 +1993,7 @@ def deserialize_duration(attr):
"""Deserialize ISO-8601 formatted string into TimeDelta object.
:param str attr: response string to be deserialized.
+ :return: Deserialized duration
:rtype: TimeDelta
:raises: DeserializationError if string format invalid.
"""
@@ -1854,15 +2003,15 @@ def deserialize_duration(attr):
duration = isodate.parse_duration(attr)
except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize duration object."
- raise_with_traceback(DeserializationError, msg, err)
- else:
- return duration
+ raise DeserializationError(msg) from err
+ return duration
@staticmethod
def deserialize_date(attr):
"""Deserialize ISO-8601 formatted string into Date object.
:param str attr: response string to be deserialized.
+ :return: Deserialized date
:rtype: Date
:raises: DeserializationError if string format invalid.
"""
@@ -1871,13 +2020,14 @@ def deserialize_date(attr):
if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore
raise DeserializationError("Date must have only digits and -. Received: %s" % attr)
# This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception.
- return isodate.parse_date(attr, defaultmonth=None, defaultday=None)
+ return isodate.parse_date(attr, defaultmonth=0, defaultday=0)
@staticmethod
def deserialize_time(attr):
"""Deserialize ISO-8601 formatted string into time object.
:param str attr: response string to be deserialized.
+ :return: Deserialized time
:rtype: datetime.time
:raises: DeserializationError if string format invalid.
"""
@@ -1892,6 +2042,7 @@ def deserialize_rfc(attr):
"""Deserialize RFC-1123 formatted string into Datetime object.
:param str attr: response string to be deserialized.
+ :return: Deserialized RFC datetime
:rtype: Datetime
:raises: DeserializationError if string format invalid.
"""
@@ -1906,15 +2057,15 @@ def deserialize_rfc(attr):
date_obj = date_obj.astimezone(tz=TZ_UTC)
except ValueError as err:
msg = "Cannot deserialize to rfc datetime object."
- raise_with_traceback(DeserializationError, msg, err)
- else:
- return date_obj
+ raise DeserializationError(msg) from err
+ return date_obj
@staticmethod
def deserialize_iso(attr):
"""Deserialize ISO-8601 formatted string into Datetime object.
:param str attr: response string to be deserialized.
+ :return: Deserialized ISO datetime
:rtype: Datetime
:raises: DeserializationError if string format invalid.
"""
@@ -1943,9 +2094,8 @@ def deserialize_iso(attr):
raise OverflowError("Hit max or min date")
except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize datetime object."
- raise_with_traceback(DeserializationError, msg, err)
- else:
- return date_obj
+ raise DeserializationError(msg) from err
+ return date_obj
@staticmethod
def deserialize_unix(attr):
@@ -1953,15 +2103,16 @@ def deserialize_unix(attr):
This is represented as seconds.
:param int attr: Object to be serialized.
+ :return: Deserialized datetime
:rtype: Datetime
:raises: DeserializationError if format invalid
"""
if isinstance(attr, ET.Element):
attr = int(attr.text) # type: ignore
try:
+ attr = int(attr)
date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC)
except ValueError as err:
msg = "Cannot deserialize to unix datetime object."
- raise_with_traceback(DeserializationError, msg, err)
- else:
- return date_obj
+ raise DeserializationError(msg) from err
+ return date_obj
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_vendor.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_vendor.py
index 9aad73fc743e..0cd723d5c6eb 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_vendor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_vendor.py
@@ -5,23 +5,21 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-from azure.core.pipeline.transport import HttpRequest
+from abc import ABC
+from typing import TYPE_CHECKING
+from ._configuration import SecurityInsightsConfiguration
-def _convert_request(request, files=None):
- data = request.content if not files else None
- request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
- if files:
- request.set_formdata_body(files)
- return request
+if TYPE_CHECKING:
+ from azure.core import PipelineClient
+ from ._serialization import Deserializer, Serializer
-def _format_url_section(template, **kwargs):
- components = template.split("/")
- while components:
- try:
- return template.format(**kwargs)
- except KeyError as key:
- formatted_components = template.split("/")
- components = [c for c in formatted_components if "{}".format(key.args[0]) not in c]
- template = "/".join(components)
+
+class SecurityInsightsMixinABC(ABC):
+ """DO NOT use this class. It is for internal typing use only."""
+
+ _client: "PipelineClient"
+ _config: SecurityInsightsConfiguration
+ _serialize: "Serializer"
+ _deserialize: "Deserializer"
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_version.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_version.py
index 2eda20789583..e5754a47ce68 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_version.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/_version.py
@@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-VERSION = "2.0.0b2"
+VERSION = "1.0.0b1"
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/__init__.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/__init__.py
index f9bb87768c2a..f2ffe2a2dc1d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/__init__.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/__init__.py
@@ -5,12 +5,18 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+# pylint: disable=wrong-import-position
-from ._security_insights import SecurityInsights
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from ._patch import * # pylint: disable=unused-wildcard-import
+
+from ._security_insights import SecurityInsights # type: ignore
try:
from ._patch import __all__ as _patch_all
- from ._patch import * # pylint: disable=unused-wildcard-import
+ from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk
@@ -18,6 +24,6 @@
__all__ = [
"SecurityInsights",
]
-__all__.extend([p for p in _patch_all if p not in __all__])
+__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_configuration.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_configuration.py
index e334994b3258..70721b9078a8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_configuration.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_configuration.py
@@ -6,26 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-import sys
from typing import Any, TYPE_CHECKING
-from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy
from .._version import VERSION
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
-
if TYPE_CHECKING:
- # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential
-class SecurityInsightsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
+class SecurityInsightsConfiguration: # pylint: disable=too-many-instance-attributes
"""Configuration for SecurityInsights.
Note that all parameters used to create this instance are saved as instance
@@ -33,16 +25,15 @@ class SecurityInsightsConfiguration(Configuration): # pylint: disable=too-many-
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
- :param subscription_id: The ID of the target subscription. Required.
+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
- :keyword api_version: Api Version. Default value is "2022-12-01-preview". Note that overriding
+ :keyword api_version: Api Version. Default value is "2024-10-01-preview". Note that overriding
this default value may result in unsupported behavior.
:paramtype api_version: str
"""
def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None:
- super(SecurityInsightsConfiguration, self).__init__(**kwargs)
- api_version: Literal["2022-12-01-preview"] = kwargs.pop("api_version", "2022-12-01-preview")
+ api_version: str = kwargs.pop("api_version", "2024-10-01-preview")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
@@ -54,6 +45,7 @@ def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **k
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-securityinsight/{}".format(VERSION))
+ self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None:
@@ -62,9 +54,9 @@ def _configure(self, **kwargs: Any) -> None:
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
- self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs)
+ self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_patch.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_patch.py
index f99e77fef986..17dbc073e01b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_patch.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_patch.py
@@ -25,6 +25,7 @@
#
# --------------------------------------------------------------------------
+
# This file is used for handwritten extensions to the generated code. Example:
# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
def patch_sdk():
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_security_insights.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_security_insights.py
index 6a0f5faa2f24..e1948f394733 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_security_insights.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_security_insights.py
@@ -8,24 +8,35 @@
from copy import deepcopy
from typing import Any, Awaitable, TYPE_CHECKING
+from typing_extensions import Self
+from azure.core.pipeline import policies
from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.mgmt.core import AsyncARMPipelineClient
+from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy
from .. import models as _models
from .._serialization import Deserializer, Serializer
from ._configuration import SecurityInsightsConfiguration
from .operations import (
ActionsOperations,
+ AlertRuleOperations,
AlertRuleTemplatesOperations,
AlertRulesOperations,
AutomationRulesOperations,
+ BillingStatisticsOperations,
BookmarkOperations,
BookmarkRelationsOperations,
BookmarksOperations,
+ BusinessApplicationAgentOperations,
+ BusinessApplicationAgentsOperations,
+ ContentPackageOperations,
+ ContentPackagesOperations,
+ ContentTemplateOperations,
+ ContentTemplatesOperations,
+ DataConnectorDefinitionsOperations,
DataConnectorsCheckRequirementsOperations,
DataConnectorsOperations,
- DomainWhoisOperations,
EntitiesGetTimelineOperations,
EntitiesOperations,
EntitiesRelationsOperations,
@@ -35,7 +46,10 @@
FileImportsOperations,
GetOperations,
GetRecommendationsOperations,
- IPGeodataOperations,
+ GetTriggeredAnalyticsRuleRunsOperations,
+ HuntCommentsOperations,
+ HuntRelationsOperations,
+ HuntsOperations,
IncidentCommentsOperations,
IncidentRelationsOperations,
IncidentTasksOperations,
@@ -43,25 +57,38 @@
MetadataOperations,
OfficeConsentsOperations,
Operations,
+ ProductPackageOperations,
+ ProductPackagesOperations,
ProductSettingsOperations,
+ ProductTemplateOperations,
+ ProductTemplatesOperations,
+ ReevaluateOperations,
+ SecurityInsightsOperationsMixin,
SecurityMLAnalyticsSettingsOperations,
SentinelOnboardingStatesOperations,
SourceControlOperations,
SourceControlsOperations,
+ SystemsOperations,
ThreatIntelligenceIndicatorMetricsOperations,
ThreatIntelligenceIndicatorOperations,
ThreatIntelligenceIndicatorsOperations,
+ ThreatIntelligenceOperations,
+ TriggeredAnalyticsRuleRunOperations,
UpdateOperations,
WatchlistItemsOperations,
WatchlistsOperations,
+ WorkspaceManagerAssignmentJobsOperations,
+ WorkspaceManagerAssignmentsOperations,
+ WorkspaceManagerConfigurationsOperations,
+ WorkspaceManagerGroupsOperations,
+ WorkspaceManagerMembersOperations,
)
if TYPE_CHECKING:
- # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential
-class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
+class SecurityInsights(SecurityInsightsOperationsMixin): # pylint: disable=too-many-instance-attributes
"""API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider.
:ivar alert_rules: AlertRulesOperations operations
@@ -73,8 +100,13 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
azure.mgmt.securityinsight.aio.operations.AlertRuleTemplatesOperations
:ivar automation_rules: AutomationRulesOperations operations
:vartype automation_rules: azure.mgmt.securityinsight.aio.operations.AutomationRulesOperations
+ :ivar entities: EntitiesOperations operations
+ :vartype entities: azure.mgmt.securityinsight.aio.operations.EntitiesOperations
:ivar incidents: IncidentsOperations operations
:vartype incidents: azure.mgmt.securityinsight.aio.operations.IncidentsOperations
+ :ivar billing_statistics: BillingStatisticsOperations operations
+ :vartype billing_statistics:
+ azure.mgmt.securityinsight.aio.operations.BillingStatisticsOperations
:ivar bookmarks: BookmarksOperations operations
:vartype bookmarks: azure.mgmt.securityinsight.aio.operations.BookmarksOperations
:ivar bookmark_relations: BookmarkRelationsOperations operations
@@ -82,12 +114,40 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
azure.mgmt.securityinsight.aio.operations.BookmarkRelationsOperations
:ivar bookmark: BookmarkOperations operations
:vartype bookmark: azure.mgmt.securityinsight.aio.operations.BookmarkOperations
- :ivar ip_geodata: IPGeodataOperations operations
- :vartype ip_geodata: azure.mgmt.securityinsight.aio.operations.IPGeodataOperations
- :ivar domain_whois: DomainWhoisOperations operations
- :vartype domain_whois: azure.mgmt.securityinsight.aio.operations.DomainWhoisOperations
- :ivar entities: EntitiesOperations operations
- :vartype entities: azure.mgmt.securityinsight.aio.operations.EntitiesOperations
+ :ivar business_application_agents: BusinessApplicationAgentsOperations operations
+ :vartype business_application_agents:
+ azure.mgmt.securityinsight.aio.operations.BusinessApplicationAgentsOperations
+ :ivar business_application_agent: BusinessApplicationAgentOperations operations
+ :vartype business_application_agent:
+ azure.mgmt.securityinsight.aio.operations.BusinessApplicationAgentOperations
+ :ivar systems: SystemsOperations operations
+ :vartype systems: azure.mgmt.securityinsight.aio.operations.SystemsOperations
+ :ivar content_packages: ContentPackagesOperations operations
+ :vartype content_packages: azure.mgmt.securityinsight.aio.operations.ContentPackagesOperations
+ :ivar content_package: ContentPackageOperations operations
+ :vartype content_package: azure.mgmt.securityinsight.aio.operations.ContentPackageOperations
+ :ivar product_packages: ProductPackagesOperations operations
+ :vartype product_packages: azure.mgmt.securityinsight.aio.operations.ProductPackagesOperations
+ :ivar product_package: ProductPackageOperations operations
+ :vartype product_package: azure.mgmt.securityinsight.aio.operations.ProductPackageOperations
+ :ivar product_templates: ProductTemplatesOperations operations
+ :vartype product_templates:
+ azure.mgmt.securityinsight.aio.operations.ProductTemplatesOperations
+ :ivar product_template: ProductTemplateOperations operations
+ :vartype product_template: azure.mgmt.securityinsight.aio.operations.ProductTemplateOperations
+ :ivar content_templates: ContentTemplatesOperations operations
+ :vartype content_templates:
+ azure.mgmt.securityinsight.aio.operations.ContentTemplatesOperations
+ :ivar content_template: ContentTemplateOperations operations
+ :vartype content_template: azure.mgmt.securityinsight.aio.operations.ContentTemplateOperations
+ :ivar data_connector_definitions: DataConnectorDefinitionsOperations operations
+ :vartype data_connector_definitions:
+ azure.mgmt.securityinsight.aio.operations.DataConnectorDefinitionsOperations
+ :ivar data_connectors: DataConnectorsOperations operations
+ :vartype data_connectors: azure.mgmt.securityinsight.aio.operations.DataConnectorsOperations
+ :ivar data_connectors_check_requirements: DataConnectorsCheckRequirementsOperations operations
+ :vartype data_connectors_check_requirements:
+ azure.mgmt.securityinsight.aio.operations.DataConnectorsCheckRequirementsOperations
:ivar entities_get_timeline: EntitiesGetTimelineOperations operations
:vartype entities_get_timeline:
azure.mgmt.securityinsight.aio.operations.EntitiesGetTimelineOperations
@@ -103,6 +163,12 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
azure.mgmt.securityinsight.aio.operations.EntityQueryTemplatesOperations
:ivar file_imports: FileImportsOperations operations
:vartype file_imports: azure.mgmt.securityinsight.aio.operations.FileImportsOperations
+ :ivar hunts: HuntsOperations operations
+ :vartype hunts: azure.mgmt.securityinsight.aio.operations.HuntsOperations
+ :ivar hunt_relations: HuntRelationsOperations operations
+ :vartype hunt_relations: azure.mgmt.securityinsight.aio.operations.HuntRelationsOperations
+ :ivar hunt_comments: HuntCommentsOperations operations
+ :vartype hunt_comments: azure.mgmt.securityinsight.aio.operations.HuntCommentsOperations
:ivar incident_comments: IncidentCommentsOperations operations
:vartype incident_comments:
azure.mgmt.securityinsight.aio.operations.IncidentCommentsOperations
@@ -118,6 +184,8 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
:ivar sentinel_onboarding_states: SentinelOnboardingStatesOperations operations
:vartype sentinel_onboarding_states:
azure.mgmt.securityinsight.aio.operations.SentinelOnboardingStatesOperations
+ :ivar operations: Operations operations
+ :vartype operations: azure.mgmt.securityinsight.aio.operations.Operations
:ivar get_recommendations: GetRecommendationsOperations operations
:vartype get_recommendations:
azure.mgmt.securityinsight.aio.operations.GetRecommendationsOperations
@@ -125,6 +193,8 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
:vartype get: azure.mgmt.securityinsight.aio.operations.GetOperations
:ivar update: UpdateOperations operations
:vartype update: azure.mgmt.securityinsight.aio.operations.UpdateOperations
+ :ivar reevaluate: ReevaluateOperations operations
+ :vartype reevaluate: azure.mgmt.securityinsight.aio.operations.ReevaluateOperations
:ivar security_ml_analytics_settings: SecurityMLAnalyticsSettingsOperations operations
:vartype security_ml_analytics_settings:
azure.mgmt.securityinsight.aio.operations.SecurityMLAnalyticsSettingsOperations
@@ -144,24 +214,43 @@ class SecurityInsights: # pylint: disable=client-accepts-api-version-keyword,to
operations
:vartype threat_intelligence_indicator_metrics:
azure.mgmt.securityinsight.aio.operations.ThreatIntelligenceIndicatorMetricsOperations
+ :ivar threat_intelligence: ThreatIntelligenceOperations operations
+ :vartype threat_intelligence:
+ azure.mgmt.securityinsight.aio.operations.ThreatIntelligenceOperations
+ :ivar triggered_analytics_rule_run: TriggeredAnalyticsRuleRunOperations operations
+ :vartype triggered_analytics_rule_run:
+ azure.mgmt.securityinsight.aio.operations.TriggeredAnalyticsRuleRunOperations
+ :ivar get_triggered_analytics_rule_runs: GetTriggeredAnalyticsRuleRunsOperations operations
+ :vartype get_triggered_analytics_rule_runs:
+ azure.mgmt.securityinsight.aio.operations.GetTriggeredAnalyticsRuleRunsOperations
+ :ivar alert_rule: AlertRuleOperations operations
+ :vartype alert_rule: azure.mgmt.securityinsight.aio.operations.AlertRuleOperations
:ivar watchlists: WatchlistsOperations operations
:vartype watchlists: azure.mgmt.securityinsight.aio.operations.WatchlistsOperations
:ivar watchlist_items: WatchlistItemsOperations operations
:vartype watchlist_items: azure.mgmt.securityinsight.aio.operations.WatchlistItemsOperations
- :ivar data_connectors: DataConnectorsOperations operations
- :vartype data_connectors: azure.mgmt.securityinsight.aio.operations.DataConnectorsOperations
- :ivar data_connectors_check_requirements: DataConnectorsCheckRequirementsOperations operations
- :vartype data_connectors_check_requirements:
- azure.mgmt.securityinsight.aio.operations.DataConnectorsCheckRequirementsOperations
- :ivar operations: Operations operations
- :vartype operations: azure.mgmt.securityinsight.aio.operations.Operations
+ :ivar workspace_manager_assignments: WorkspaceManagerAssignmentsOperations operations
+ :vartype workspace_manager_assignments:
+ azure.mgmt.securityinsight.aio.operations.WorkspaceManagerAssignmentsOperations
+ :ivar workspace_manager_assignment_jobs: WorkspaceManagerAssignmentJobsOperations operations
+ :vartype workspace_manager_assignment_jobs:
+ azure.mgmt.securityinsight.aio.operations.WorkspaceManagerAssignmentJobsOperations
+ :ivar workspace_manager_configurations: WorkspaceManagerConfigurationsOperations operations
+ :vartype workspace_manager_configurations:
+ azure.mgmt.securityinsight.aio.operations.WorkspaceManagerConfigurationsOperations
+ :ivar workspace_manager_groups: WorkspaceManagerGroupsOperations operations
+ :vartype workspace_manager_groups:
+ azure.mgmt.securityinsight.aio.operations.WorkspaceManagerGroupsOperations
+ :ivar workspace_manager_members: WorkspaceManagerMembersOperations operations
+ :vartype workspace_manager_members:
+ azure.mgmt.securityinsight.aio.operations.WorkspaceManagerMembersOperations
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
- :param subscription_id: The ID of the target subscription. Required.
+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
:type subscription_id: str
:param base_url: Service URL. Default value is "https://management.azure.com".
:type base_url: str
- :keyword api_version: Api Version. Default value is "2022-12-01-preview". Note that overriding
+ :keyword api_version: Api Version. Default value is "2024-10-01-preview". Note that overriding
this default value may result in unsupported behavior.
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -176,7 +265,25 @@ def __init__(
**kwargs: Any
) -> None:
self._config = SecurityInsightsConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
- self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+ _policies = kwargs.pop("policies", None)
+ if _policies is None:
+ _policies = [
+ policies.RequestIdPolicy(**kwargs),
+ self._config.headers_policy,
+ self._config.user_agent_policy,
+ self._config.proxy_policy,
+ policies.ContentDecodePolicy(**kwargs),
+ AsyncARMAutoResourceProviderRegistrationPolicy(),
+ self._config.redirect_policy,
+ self._config.retry_policy,
+ self._config.authentication_policy,
+ self._config.custom_hook_policy,
+ self._config.logging_policy,
+ policies.DistributedTracingPolicy(**kwargs),
+ policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
+ self._config.http_logging_policy,
+ ]
+ self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
@@ -190,15 +297,50 @@ def __init__(
self.automation_rules = AutomationRulesOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.entities = EntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
self.incidents = IncidentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.billing_statistics = BillingStatisticsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.bookmarks = BookmarksOperations(self._client, self._config, self._serialize, self._deserialize)
self.bookmark_relations = BookmarkRelationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.bookmark = BookmarkOperations(self._client, self._config, self._serialize, self._deserialize)
- self.ip_geodata = IPGeodataOperations(self._client, self._config, self._serialize, self._deserialize)
- self.domain_whois = DomainWhoisOperations(self._client, self._config, self._serialize, self._deserialize)
- self.entities = EntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.business_application_agents = BusinessApplicationAgentsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.business_application_agent = BusinessApplicationAgentOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.systems = SystemsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.content_packages = ContentPackagesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_package = ContentPackageOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.product_packages = ProductPackagesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.product_package = ProductPackageOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.product_templates = ProductTemplatesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.product_template = ProductTemplateOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_templates = ContentTemplatesOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.content_template = ContentTemplateOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.data_connector_definitions = DataConnectorDefinitionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.data_connectors = DataConnectorsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.data_connectors_check_requirements = DataConnectorsCheckRequirementsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.entities_get_timeline = EntitiesGetTimelineOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -213,6 +355,9 @@ def __init__(
self._client, self._config, self._serialize, self._deserialize
)
self.file_imports = FileImportsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunts = HuntsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunt_relations = HuntRelationsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.hunt_comments = HuntCommentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.incident_comments = IncidentCommentsOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -225,11 +370,13 @@ def __init__(
self.sentinel_onboarding_states = SentinelOnboardingStatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.get_recommendations = GetRecommendationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.get = GetOperations(self._client, self._config, self._serialize, self._deserialize)
self.update = UpdateOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.reevaluate = ReevaluateOperations(self._client, self._config, self._serialize, self._deserialize)
self.security_ml_analytics_settings = SecurityMLAnalyticsSettingsOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -247,15 +394,37 @@ def __init__(
self.threat_intelligence_indicator_metrics = ThreatIntelligenceIndicatorMetricsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.threat_intelligence = ThreatIntelligenceOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.triggered_analytics_rule_run = TriggeredAnalyticsRuleRunOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.get_triggered_analytics_rule_runs = GetTriggeredAnalyticsRuleRunsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.alert_rule = AlertRuleOperations(self._client, self._config, self._serialize, self._deserialize)
self.watchlists = WatchlistsOperations(self._client, self._config, self._serialize, self._deserialize)
self.watchlist_items = WatchlistItemsOperations(self._client, self._config, self._serialize, self._deserialize)
- self.data_connectors = DataConnectorsOperations(self._client, self._config, self._serialize, self._deserialize)
- self.data_connectors_check_requirements = DataConnectorsCheckRequirementsOperations(
+ self.workspace_manager_assignments = WorkspaceManagerAssignmentsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_assignment_jobs = WorkspaceManagerAssignmentJobsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_configurations = WorkspaceManagerConfigurationsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_groups = WorkspaceManagerGroupsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.workspace_manager_members = WorkspaceManagerMembersOperations(
self._client, self._config, self._serialize, self._deserialize
)
- self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
- def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]:
+ def _send_request(
+ self, request: HttpRequest, *, stream: bool = False, **kwargs: Any
+ ) -> Awaitable[AsyncHttpResponse]:
"""Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest
@@ -275,14 +444,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncH
request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
- return self._client.send_request(request_copy, **kwargs)
+ return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
async def close(self) -> None:
await self._client.close()
- async def __aenter__(self) -> "SecurityInsights":
+ async def __aenter__(self) -> Self:
await self._client.__aenter__()
return self
- async def __aexit__(self, *exc_details) -> None:
+ async def __aexit__(self, *exc_details: Any) -> None:
await self._client.__aexit__(*exc_details)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_vendor.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_vendor.py
new file mode 100644
index 000000000000..88c5b1ff7277
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/_vendor.py
@@ -0,0 +1,25 @@
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from abc import ABC
+from typing import TYPE_CHECKING
+
+from ._configuration import SecurityInsightsConfiguration
+
+if TYPE_CHECKING:
+ from azure.core import AsyncPipelineClient
+
+ from .._serialization import Deserializer, Serializer
+
+
+class SecurityInsightsMixinABC(ABC):
+ """DO NOT use this class. It is for internal typing use only."""
+
+ _client: "AsyncPipelineClient"
+ _config: SecurityInsightsConfiguration
+ _serialize: "Serializer"
+ _deserialize: "Deserializer"
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/__init__.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/__init__.py
index 802d895ef601..67b9d4287613 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/__init__.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/__init__.py
@@ -5,48 +5,79 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+# pylint: disable=wrong-import-position
-from ._alert_rules_operations import AlertRulesOperations
-from ._actions_operations import ActionsOperations
-from ._alert_rule_templates_operations import AlertRuleTemplatesOperations
-from ._automation_rules_operations import AutomationRulesOperations
-from ._incidents_operations import IncidentsOperations
-from ._bookmarks_operations import BookmarksOperations
-from ._bookmark_relations_operations import BookmarkRelationsOperations
-from ._bookmark_operations import BookmarkOperations
-from ._ip_geodata_operations import IPGeodataOperations
-from ._domain_whois_operations import DomainWhoisOperations
-from ._entities_operations import EntitiesOperations
-from ._entities_get_timeline_operations import EntitiesGetTimelineOperations
-from ._entities_relations_operations import EntitiesRelationsOperations
-from ._entity_relations_operations import EntityRelationsOperations
-from ._entity_queries_operations import EntityQueriesOperations
-from ._entity_query_templates_operations import EntityQueryTemplatesOperations
-from ._file_imports_operations import FileImportsOperations
-from ._incident_comments_operations import IncidentCommentsOperations
-from ._incident_relations_operations import IncidentRelationsOperations
-from ._incident_tasks_operations import IncidentTasksOperations
-from ._metadata_operations import MetadataOperations
-from ._office_consents_operations import OfficeConsentsOperations
-from ._sentinel_onboarding_states_operations import SentinelOnboardingStatesOperations
-from ._get_recommendations_operations import GetRecommendationsOperations
-from ._get_operations import GetOperations
-from ._update_operations import UpdateOperations
-from ._security_ml_analytics_settings_operations import SecurityMLAnalyticsSettingsOperations
-from ._product_settings_operations import ProductSettingsOperations
-from ._source_control_operations import SourceControlOperations
-from ._source_controls_operations import SourceControlsOperations
-from ._threat_intelligence_indicator_operations import ThreatIntelligenceIndicatorOperations
-from ._threat_intelligence_indicators_operations import ThreatIntelligenceIndicatorsOperations
-from ._threat_intelligence_indicator_metrics_operations import ThreatIntelligenceIndicatorMetricsOperations
-from ._watchlists_operations import WatchlistsOperations
-from ._watchlist_items_operations import WatchlistItemsOperations
-from ._data_connectors_operations import DataConnectorsOperations
-from ._data_connectors_check_requirements_operations import DataConnectorsCheckRequirementsOperations
-from ._operations import Operations
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from ._patch import * # pylint: disable=unused-wildcard-import
+
+from ._alert_rules_operations import AlertRulesOperations # type: ignore
+from ._actions_operations import ActionsOperations # type: ignore
+from ._alert_rule_templates_operations import AlertRuleTemplatesOperations # type: ignore
+from ._automation_rules_operations import AutomationRulesOperations # type: ignore
+from ._entities_operations import EntitiesOperations # type: ignore
+from ._incidents_operations import IncidentsOperations # type: ignore
+from ._billing_statistics_operations import BillingStatisticsOperations # type: ignore
+from ._bookmarks_operations import BookmarksOperations # type: ignore
+from ._bookmark_relations_operations import BookmarkRelationsOperations # type: ignore
+from ._bookmark_operations import BookmarkOperations # type: ignore
+from ._business_application_agents_operations import BusinessApplicationAgentsOperations # type: ignore
+from ._business_application_agent_operations import BusinessApplicationAgentOperations # type: ignore
+from ._systems_operations import SystemsOperations # type: ignore
+from ._content_packages_operations import ContentPackagesOperations # type: ignore
+from ._content_package_operations import ContentPackageOperations # type: ignore
+from ._product_packages_operations import ProductPackagesOperations # type: ignore
+from ._product_package_operations import ProductPackageOperations # type: ignore
+from ._product_templates_operations import ProductTemplatesOperations # type: ignore
+from ._product_template_operations import ProductTemplateOperations # type: ignore
+from ._content_templates_operations import ContentTemplatesOperations # type: ignore
+from ._content_template_operations import ContentTemplateOperations # type: ignore
+from ._data_connector_definitions_operations import DataConnectorDefinitionsOperations # type: ignore
+from ._data_connectors_operations import DataConnectorsOperations # type: ignore
+from ._data_connectors_check_requirements_operations import DataConnectorsCheckRequirementsOperations # type: ignore
+from ._security_insights_operations import SecurityInsightsOperationsMixin # type: ignore
+from ._entities_get_timeline_operations import EntitiesGetTimelineOperations # type: ignore
+from ._entities_relations_operations import EntitiesRelationsOperations # type: ignore
+from ._entity_relations_operations import EntityRelationsOperations # type: ignore
+from ._entity_queries_operations import EntityQueriesOperations # type: ignore
+from ._entity_query_templates_operations import EntityQueryTemplatesOperations # type: ignore
+from ._file_imports_operations import FileImportsOperations # type: ignore
+from ._hunts_operations import HuntsOperations # type: ignore
+from ._hunt_relations_operations import HuntRelationsOperations # type: ignore
+from ._hunt_comments_operations import HuntCommentsOperations # type: ignore
+from ._incident_comments_operations import IncidentCommentsOperations # type: ignore
+from ._incident_relations_operations import IncidentRelationsOperations # type: ignore
+from ._incident_tasks_operations import IncidentTasksOperations # type: ignore
+from ._metadata_operations import MetadataOperations # type: ignore
+from ._office_consents_operations import OfficeConsentsOperations # type: ignore
+from ._sentinel_onboarding_states_operations import SentinelOnboardingStatesOperations # type: ignore
+from ._operations import Operations # type: ignore
+from ._get_recommendations_operations import GetRecommendationsOperations # type: ignore
+from ._get_operations import GetOperations # type: ignore
+from ._update_operations import UpdateOperations # type: ignore
+from ._reevaluate_operations import ReevaluateOperations # type: ignore
+from ._security_ml_analytics_settings_operations import SecurityMLAnalyticsSettingsOperations # type: ignore
+from ._product_settings_operations import ProductSettingsOperations # type: ignore
+from ._source_control_operations import SourceControlOperations # type: ignore
+from ._source_controls_operations import SourceControlsOperations # type: ignore
+from ._threat_intelligence_indicator_operations import ThreatIntelligenceIndicatorOperations # type: ignore
+from ._threat_intelligence_indicators_operations import ThreatIntelligenceIndicatorsOperations # type: ignore
+from ._threat_intelligence_indicator_metrics_operations import ThreatIntelligenceIndicatorMetricsOperations # type: ignore
+from ._threat_intelligence_operations import ThreatIntelligenceOperations # type: ignore
+from ._triggered_analytics_rule_run_operations import TriggeredAnalyticsRuleRunOperations # type: ignore
+from ._get_triggered_analytics_rule_runs_operations import GetTriggeredAnalyticsRuleRunsOperations # type: ignore
+from ._alert_rule_operations import AlertRuleOperations # type: ignore
+from ._watchlists_operations import WatchlistsOperations # type: ignore
+from ._watchlist_items_operations import WatchlistItemsOperations # type: ignore
+from ._workspace_manager_assignments_operations import WorkspaceManagerAssignmentsOperations # type: ignore
+from ._workspace_manager_assignment_jobs_operations import WorkspaceManagerAssignmentJobsOperations # type: ignore
+from ._workspace_manager_configurations_operations import WorkspaceManagerConfigurationsOperations # type: ignore
+from ._workspace_manager_groups_operations import WorkspaceManagerGroupsOperations # type: ignore
+from ._workspace_manager_members_operations import WorkspaceManagerMembersOperations # type: ignore
from ._patch import __all__ as _patch_all
-from ._patch import * # pylint: disable=unused-wildcard-import
+from ._patch import *
from ._patch import patch_sdk as _patch_sdk
__all__ = [
@@ -54,28 +85,47 @@
"ActionsOperations",
"AlertRuleTemplatesOperations",
"AutomationRulesOperations",
+ "EntitiesOperations",
"IncidentsOperations",
+ "BillingStatisticsOperations",
"BookmarksOperations",
"BookmarkRelationsOperations",
"BookmarkOperations",
- "IPGeodataOperations",
- "DomainWhoisOperations",
- "EntitiesOperations",
+ "BusinessApplicationAgentsOperations",
+ "BusinessApplicationAgentOperations",
+ "SystemsOperations",
+ "ContentPackagesOperations",
+ "ContentPackageOperations",
+ "ProductPackagesOperations",
+ "ProductPackageOperations",
+ "ProductTemplatesOperations",
+ "ProductTemplateOperations",
+ "ContentTemplatesOperations",
+ "ContentTemplateOperations",
+ "DataConnectorDefinitionsOperations",
+ "DataConnectorsOperations",
+ "DataConnectorsCheckRequirementsOperations",
+ "SecurityInsightsOperationsMixin",
"EntitiesGetTimelineOperations",
"EntitiesRelationsOperations",
"EntityRelationsOperations",
"EntityQueriesOperations",
"EntityQueryTemplatesOperations",
"FileImportsOperations",
+ "HuntsOperations",
+ "HuntRelationsOperations",
+ "HuntCommentsOperations",
"IncidentCommentsOperations",
"IncidentRelationsOperations",
"IncidentTasksOperations",
"MetadataOperations",
"OfficeConsentsOperations",
"SentinelOnboardingStatesOperations",
+ "Operations",
"GetRecommendationsOperations",
"GetOperations",
"UpdateOperations",
+ "ReevaluateOperations",
"SecurityMLAnalyticsSettingsOperations",
"ProductSettingsOperations",
"SourceControlOperations",
@@ -83,11 +133,17 @@
"ThreatIntelligenceIndicatorOperations",
"ThreatIntelligenceIndicatorsOperations",
"ThreatIntelligenceIndicatorMetricsOperations",
+ "ThreatIntelligenceOperations",
+ "TriggeredAnalyticsRuleRunOperations",
+ "GetTriggeredAnalyticsRuleRunsOperations",
+ "AlertRuleOperations",
"WatchlistsOperations",
"WatchlistItemsOperations",
- "DataConnectorsOperations",
- "DataConnectorsCheckRequirementsOperations",
- "Operations",
+ "WorkspaceManagerAssignmentsOperations",
+ "WorkspaceManagerAssignmentJobsOperations",
+ "WorkspaceManagerConfigurationsOperations",
+ "WorkspaceManagerGroupsOperations",
+ "WorkspaceManagerMembersOperations",
]
-__all__.extend([p for p in _patch_all if p not in __all__])
+__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_actions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_actions_operations.py
index 9e3b782688be..dda089114d96 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_actions_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_actions_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._actions_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_by_alert_rule_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -76,7 +74,6 @@ def list_by_alert_rule(
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ActionResponse or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.ActionResponse]
@@ -85,12 +82,10 @@ def list_by_alert_rule(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ActionsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -101,18 +96,16 @@ def list_by_alert_rule(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_by_alert_rule_request(
+ _request = build_list_by_alert_rule_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_by_alert_rule.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -124,13 +117,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("ActionsList", pipeline_response)
@@ -140,10 +132,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -155,10 +148,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list_by_alert_rule.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, rule_id: str, action_id: str, **kwargs: Any
@@ -174,12 +163,11 @@ async def get(
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -190,27 +178,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ActionResponse] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
action_id=action_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -219,16 +204,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ActionResponse", pipeline_response)
+ deserialized = self._deserialize("ActionResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -258,7 +239,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -271,7 +251,7 @@ async def create_or_update(
workspace_name: str,
rule_id: str,
action_id: str,
- action: IO,
+ action: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -288,11 +268,10 @@ async def create_or_update(
:param action_id: Action ID. Required.
:type action_id: str
:param action: The action. Required.
- :type action: IO
+ :type action: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -305,7 +284,7 @@ async def create_or_update(
workspace_name: str,
rule_id: str,
action_id: str,
- action: Union[_models.ActionRequest, IO],
+ action: Union[_models.ActionRequest, IO[bytes]],
**kwargs: Any
) -> _models.ActionResponse:
"""Creates or updates the action of alert rule.
@@ -319,17 +298,13 @@ async def create_or_update(
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :param action: The action. Is either a model type or a IO type. Required.
- :type action: ~azure.mgmt.securityinsight.models.ActionRequest or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param action: The action. Is either a ActionRequest type or a IO[bytes] type. Required.
+ :type action: ~azure.mgmt.securityinsight.models.ActionRequest or IO[bytes]
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -340,21 +315,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ActionResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(action, (IO, bytes)):
+ if isinstance(action, (IOBase, bytes)):
_content = action
else:
_json = self._serialize.body(action, "ActionRequest")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
@@ -364,15 +337,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -381,23 +353,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ActionResponse", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ActionResponse", pipeline_response)
+ deserialized = self._deserialize("ActionResponse", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, rule_id: str, action_id: str, **kwargs: Any
) -> None:
"""Delete the action of alert rule.
@@ -411,12 +375,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -427,27 +390,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
action_id=action_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -457,8 +417,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_operations.py
new file mode 100644
index 000000000000..b8f1ed0595b6
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_operations.py
@@ -0,0 +1,265 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ...operations._alert_rule_operations import build_trigger_rule_run_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class AlertRuleOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`alert_rule` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ async def _trigger_rule_run_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: Union[_models.AnalyticsRuleRunTrigger, IO[bytes]],
+ **kwargs: Any
+ ) -> AsyncIterator[bytes]:
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(analytics_rule_run_trigger_parameter, (IOBase, bytes)):
+ _content = analytics_rule_run_trigger_parameter
+ else:
+ _json = self._serialize.body(analytics_rule_run_trigger_parameter, "AnalyticsRuleRunTrigger")
+
+ _request = build_trigger_rule_run_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_id=rule_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ try:
+ await response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: _models.AnalyticsRuleRunTrigger,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter.
+ Required.
+ :type analytics_rule_run_trigger_parameter:
+ ~azure.mgmt.securityinsight.models.AnalyticsRuleRunTrigger
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter.
+ Required.
+ :type analytics_rule_run_trigger_parameter: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: Union[_models.AnalyticsRuleRunTrigger, IO[bytes]],
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter. Is
+ either a AnalyticsRuleRunTrigger type or a IO[bytes] type. Required.
+ :type analytics_rule_run_trigger_parameter:
+ ~azure.mgmt.securityinsight.models.AnalyticsRuleRunTrigger or IO[bytes]
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._trigger_rule_run_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_id=rule_id,
+ analytics_rule_run_trigger_parameter=analytics_rule_run_trigger_parameter,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ await raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return AsyncLROPoller[None].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_templates_operations.py
index c4517e99abe7..47eaa9ef30d1 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_templates_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rule_templates_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,21 +19,19 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._alert_rule_templates_operations import build_get_request, build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -69,7 +66,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AlertRuleTemplate or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.AlertRuleTemplate]
@@ -78,12 +74,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRuleTemplatesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -94,17 +88,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -116,13 +108,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("AlertRuleTemplatesList", pipeline_response)
@@ -132,10 +123,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -147,10 +139,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, alert_rule_template_id: str, **kwargs: Any
@@ -164,12 +152,11 @@ async def get(
:type workspace_name: str
:param alert_rule_template_id: Alert rule template ID. Required.
:type alert_rule_template_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRuleTemplate or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRuleTemplate
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -180,26 +167,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRuleTemplate] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
alert_rule_template_id=alert_rule_template_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -208,13 +192,9 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AlertRuleTemplate", pipeline_response)
+ deserialized = self._deserialize("AlertRuleTemplate", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rules_operations.py
index 856b3843f35a..fde8ffd614c9 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rules_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_alert_rules_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._alert_rules_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -72,7 +70,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AlertRule or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.AlertRule]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -80,12 +77,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRulesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -96,17 +91,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -118,13 +111,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("AlertRulesList", pipeline_response)
@@ -134,10 +126,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -149,10 +142,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, rule_id: str, **kwargs: Any
@@ -166,12 +155,11 @@ async def get(
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -182,26 +170,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRule] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -210,16 +195,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AlertRule", pipeline_response)
+ deserialized = self._deserialize("AlertRule", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -246,7 +227,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -258,7 +238,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
rule_id: str,
- alert_rule: IO,
+ alert_rule: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -273,11 +253,10 @@ async def create_or_update(
:param rule_id: Alert rule ID. Required.
:type rule_id: str
:param alert_rule: The alert rule. Required.
- :type alert_rule: IO
+ :type alert_rule: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -289,7 +268,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
rule_id: str,
- alert_rule: Union[_models.AlertRule, IO],
+ alert_rule: Union[_models.AlertRule, IO[bytes]],
**kwargs: Any
) -> _models.AlertRule:
"""Creates or updates the alert rule.
@@ -301,17 +280,13 @@ async def create_or_update(
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :param alert_rule: The alert rule. Is either a model type or a IO type. Required.
- :type alert_rule: ~azure.mgmt.securityinsight.models.AlertRule or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param alert_rule: The alert rule. Is either a AlertRule type or a IO[bytes] type. Required.
+ :type alert_rule: ~azure.mgmt.securityinsight.models.AlertRule or IO[bytes]
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -322,21 +297,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.AlertRule] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(alert_rule, (IO, bytes)):
+ if isinstance(alert_rule, (IOBase, bytes)):
_content = alert_rule
else:
_json = self._serialize.body(alert_rule, "AlertRule")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
@@ -345,15 +318,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -362,25 +334,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("AlertRule", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("AlertRule", pipeline_response)
+ deserialized = self._deserialize("AlertRule", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, rule_id: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, rule_id: str, **kwargs: Any) -> None:
"""Delete the alert rule.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -390,12 +352,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -406,26 +367,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -435,8 +393,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_automation_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_automation_rules_operations.py
index 9040a09fd9bf..c4d063265993 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_automation_rules_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_automation_rules_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._automation_rules_operations import (
build_create_or_update_request,
build_delete_request,
@@ -39,11 +37,7 @@
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
- from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -81,12 +75,11 @@ async def get(
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -97,26 +90,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AutomationRule] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -125,16 +115,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AutomationRule", pipeline_response)
+ deserialized = self._deserialize("AutomationRule", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -161,7 +147,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -173,7 +158,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
automation_rule_id: str,
- automation_rule_to_upsert: Optional[IO] = None,
+ automation_rule_to_upsert: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -188,11 +173,10 @@ async def create_or_update(
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
:param automation_rule_to_upsert: The automation rule. Default value is None.
- :type automation_rule_to_upsert: IO
+ :type automation_rule_to_upsert: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -204,7 +188,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
automation_rule_id: str,
- automation_rule_to_upsert: Optional[Union[_models.AutomationRule, IO]] = None,
+ automation_rule_to_upsert: Optional[Union[_models.AutomationRule, IO[bytes]]] = None,
**kwargs: Any
) -> _models.AutomationRule:
"""Creates or updates the automation rule.
@@ -216,18 +200,14 @@ async def create_or_update(
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :param automation_rule_to_upsert: The automation rule. Is either a model type or a IO type.
- Default value is None.
- :type automation_rule_to_upsert: ~azure.mgmt.securityinsight.models.AutomationRule or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param automation_rule_to_upsert: The automation rule. Is either a AutomationRule type or a
+ IO[bytes] type. Default value is None.
+ :type automation_rule_to_upsert: ~azure.mgmt.securityinsight.models.AutomationRule or IO[bytes]
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -238,16 +218,14 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.AutomationRule] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(automation_rule_to_upsert, (IO, bytes)):
+ if isinstance(automation_rule_to_upsert, (IOBase, bytes)):
_content = automation_rule_to_upsert
else:
if automation_rule_to_upsert is not None:
@@ -255,7 +233,7 @@ async def create_or_update(
else:
_json = None
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
@@ -264,15 +242,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -281,21 +258,13 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("AutomationRule", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("AutomationRule", pipeline_response)
+ deserialized = self._deserialize("AutomationRule", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
-
@distributed_trace_async
async def delete(
self, resource_group_name: str, workspace_name: str, automation_rule_id: str, **kwargs: Any
@@ -309,12 +278,11 @@ async def delete(
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -325,26 +293,23 @@ async def delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[JSON] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -353,21 +318,13 @@ async def delete(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("object", pipeline_response)
-
- if response.status_code == 204:
- deserialized = self._deserialize("object", pipeline_response)
+ deserialized = self._deserialize("object", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
-
@distributed_trace
def list(
self, resource_group_name: str, workspace_name: str, **kwargs: Any
@@ -379,7 +336,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AutomationRule or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.AutomationRule]
@@ -388,12 +344,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AutomationRulesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -404,17 +358,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -426,13 +378,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("AutomationRulesList", pipeline_response)
@@ -442,10 +393,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -456,7 +408,3 @@ async def get_next(next_link=None):
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_billing_statistics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_billing_statistics_operations.py
new file mode 100644
index 000000000000..67bb59438507
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_billing_statistics_operations.py
@@ -0,0 +1,202 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._billing_statistics_operations import build_get_request, build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class BillingStatisticsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`billing_statistics` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> AsyncIterable["_models.BillingStatistic"]:
+ """Gets all Microsoft Sentinel billing statistics.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either BillingStatistic or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.BillingStatistic]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BillingStatisticList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("BillingStatisticList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, billing_statistic_name: str, **kwargs: Any
+ ) -> _models.BillingStatistic:
+ """Gets a billing statistic.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param billing_statistic_name: The name of the billing statistic. Required.
+ :type billing_statistic_name: str
+ :return: BillingStatistic or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BillingStatistic
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BillingStatistic] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ billing_statistic_name=billing_statistic_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("BillingStatistic", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_operations.py
index e87871dba5df..c0f58e4e0c4b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._bookmark_operations import build_expand_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -81,7 +79,6 @@ async def expand(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -93,7 +90,7 @@ async def expand(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -109,11 +106,10 @@ async def expand(
:type bookmark_id: str
:param parameters: The parameters required to execute an expand operation on the given
bookmark. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -125,7 +121,7 @@ async def expand(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- parameters: Union[_models.BookmarkExpandParameters, IO],
+ parameters: Union[_models.BookmarkExpandParameters, IO[bytes]],
**kwargs: Any
) -> _models.BookmarkExpandResponse:
"""Expand an bookmark.
@@ -138,17 +134,13 @@ async def expand(
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
:param parameters: The parameters required to execute an expand operation on the given
- bookmark. Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.BookmarkExpandParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ bookmark. Is either a BookmarkExpandParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.BookmarkExpandParameters or IO[bytes]
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -159,21 +151,19 @@ async def expand(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.BookmarkExpandResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "BookmarkExpandParameters")
- request = build_expand_request(
+ _request = build_expand_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -182,15 +172,14 @@ async def expand(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.expand.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -199,13 +188,9 @@ async def expand(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("BookmarkExpandResponse", pipeline_response)
+ deserialized = self._deserialize("BookmarkExpandResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- expand.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_relations_operations.py
index 237aca3682c1..5191e50202f8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmark_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._bookmark_relations_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -96,7 +94,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -104,12 +101,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -120,7 +115,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -130,12 +125,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -147,13 +140,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -163,10 +155,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -178,10 +171,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, bookmark_id: str, relation_name: str, **kwargs: Any
@@ -197,12 +186,11 @@ async def get(
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -213,27 +201,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -242,16 +227,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -281,7 +262,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -294,7 +274,7 @@ async def create_or_update(
workspace_name: str,
bookmark_id: str,
relation_name: str,
- relation: IO,
+ relation: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -311,11 +291,10 @@ async def create_or_update(
:param relation_name: Relation Name. Required.
:type relation_name: str
:param relation: The relation model. Required.
- :type relation: IO
+ :type relation: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -328,7 +307,7 @@ async def create_or_update(
workspace_name: str,
bookmark_id: str,
relation_name: str,
- relation: Union[_models.Relation, IO],
+ relation: Union[_models.Relation, IO[bytes]],
**kwargs: Any
) -> _models.Relation:
"""Creates the bookmark relation.
@@ -342,17 +321,13 @@ async def create_or_update(
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :param relation: The relation model. Is either a model type or a IO type. Required.
- :type relation: ~azure.mgmt.securityinsight.models.Relation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param relation: The relation model. Is either a Relation type or a IO[bytes] type. Required.
+ :type relation: ~azure.mgmt.securityinsight.models.Relation or IO[bytes]
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -363,21 +338,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(relation, (IO, bytes)):
+ if isinstance(relation, (IOBase, bytes)):
_content = relation
else:
_json = self._serialize.body(relation, "Relation")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -387,15 +360,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -404,23 +376,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Relation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, bookmark_id: str, relation_name: str, **kwargs: Any
) -> None:
"""Delete the bookmark relation.
@@ -434,12 +398,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -450,27 +413,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -480,8 +440,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmarks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmarks_operations.py
index b9783e8fa1e7..b4fdf2ddad30 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmarks_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_bookmarks_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._bookmarks_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -72,7 +70,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Bookmark or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Bookmark]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -80,12 +77,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.BookmarkList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -96,17 +91,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -118,13 +111,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("BookmarkList", pipeline_response)
@@ -134,10 +126,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -149,10 +142,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, bookmark_id: str, **kwargs: Any
@@ -166,12 +155,11 @@ async def get(
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -182,26 +170,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Bookmark] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -210,16 +195,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Bookmark", pipeline_response)
+ deserialized = self._deserialize("Bookmark", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -246,7 +227,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
@@ -258,7 +238,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- bookmark: IO,
+ bookmark: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -273,11 +253,10 @@ async def create_or_update(
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
:param bookmark: The bookmark. Required.
- :type bookmark: IO
+ :type bookmark: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
@@ -289,7 +268,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- bookmark: Union[_models.Bookmark, IO],
+ bookmark: Union[_models.Bookmark, IO[bytes]],
**kwargs: Any
) -> _models.Bookmark:
"""Creates or updates the bookmark.
@@ -301,17 +280,13 @@ async def create_or_update(
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :param bookmark: The bookmark. Is either a model type or a IO type. Required.
- :type bookmark: ~azure.mgmt.securityinsight.models.Bookmark or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param bookmark: The bookmark. Is either a Bookmark type or a IO[bytes] type. Required.
+ :type bookmark: ~azure.mgmt.securityinsight.models.Bookmark or IO[bytes]
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -322,21 +297,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Bookmark] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(bookmark, (IO, bytes)):
+ if isinstance(bookmark, (IOBase, bytes)):
_content = bookmark
else:
_json = self._serialize.body(bookmark, "Bookmark")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -345,15 +318,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -362,25 +334,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Bookmark", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Bookmark", pipeline_response)
+ deserialized = self._deserialize("Bookmark", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, bookmark_id: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, bookmark_id: str, **kwargs: Any) -> None:
"""Delete the bookmark.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -390,12 +352,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -406,26 +367,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -435,8 +393,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_domain_whois_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agent_operations.py
similarity index 61%
rename from sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_domain_whois_operations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agent_operations.py
index 30b1d059703f..0a648f20d083 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_domain_whois_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agent_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,32 +17,30 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
-from ...operations._domain_whois_operations import build_get_request
+from ...operations._business_application_agent_operations import build_get_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
-class DomainWhoisOperations:
+class BusinessApplicationAgentOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
- :attr:`domain_whois` attribute.
+ :attr:`business_application_agent` attribute.
"""
models = _models
@@ -56,20 +53,23 @@ def __init__(self, *args, **kwargs) -> None:
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace_async
- async def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _models.EnrichmentDomainWhois:
- """Get whois information for a single domain name.
+ async def get(
+ self, resource_group_name: str, workspace_name: str, agent_resource_name: str, **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Gets Business Application Agent.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
- :param domain: Domain name to be enriched. Required.
- :type domain: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: EnrichmentDomainWhois or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -80,25 +80,23 @@ async def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _mo
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.EnrichmentDomainWhois] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BusinessApplicationAgentResource] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
subscription_id=self._config.subscription_id,
- domain=domain,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -107,13 +105,9 @@ async def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _mo
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EnrichmentDomainWhois", pipeline_response)
+ deserialized = self._deserialize("BusinessApplicationAgentResource", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agents_operations.py
new file mode 100644
index 000000000000..6e9ae8bcef4b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_business_application_agents_operations.py
@@ -0,0 +1,361 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._business_application_agents_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class BusinessApplicationAgentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`business_application_agents` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[_models.BusinessApplicationAgentResource] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Default value is None.
+ :type agent_to_upsert: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Default value is None.
+ :type agent_to_upsert: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[Union[_models.BusinessApplicationAgentResource, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Is either a
+ BusinessApplicationAgentResource type or a IO[bytes] type. Default value is None.
+ :type agent_to_upsert: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource or
+ IO[bytes]
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.BusinessApplicationAgentResource] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(agent_to_upsert, (IOBase, bytes)):
+ _content = agent_to_upsert
+ else:
+ if agent_to_upsert is not None:
+ _json = self._serialize.body(agent_to_upsert, "BusinessApplicationAgentResource")
+ else:
+ _json = None
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("BusinessApplicationAgentResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, agent_resource_name: str, **kwargs: Any
+ ) -> None:
+ """Delete the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.BusinessApplicationAgentResource"]:
+ """Gets all Business Application Agents under the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either BusinessApplicationAgentResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BusinessApplicationAgentsList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("BusinessApplicationAgentsList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_package_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_package_operations.py
new file mode 100644
index 000000000000..e1a79e5a49f5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_package_operations.py
@@ -0,0 +1,249 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._content_package_operations import build_install_request, build_uninstall_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ContentPackageOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`content_package` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: _models.PackageModel,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Required.
+ :type package_installation_properties: ~azure.mgmt.securityinsight.models.PackageModel
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Required.
+ :type package_installation_properties: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: Union[_models.PackageModel, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Is either a
+ PackageModel type or a IO[bytes] type. Required.
+ :type package_installation_properties: ~azure.mgmt.securityinsight.models.PackageModel or
+ IO[bytes]
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.PackageModel] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(package_installation_properties, (IOBase, bytes)):
+ _content = package_installation_properties
+ else:
+ _json = self._serialize.body(package_installation_properties, "PackageModel")
+
+ _request = build_install_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("PackageModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def uninstall(self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any) -> None:
+ """Uninstall a package from the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_uninstall_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_packages_operations.py
new file mode 100644
index 000000000000..fc6f0430c296
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_packages_operations.py
@@ -0,0 +1,237 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._content_packages_operations import build_get_request, build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ContentPackagesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`content_packages` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.PackageModel"]:
+ """Gets all installed packages.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either PackageModel or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.PackageModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.PackageList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("PackageList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any
+ ) -> _models.PackageModel:
+ """Gets an installed packages by its id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.PackageModel] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("PackageModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_template_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_template_operations.py
new file mode 100644
index 000000000000..66850a1472c9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_template_operations.py
@@ -0,0 +1,314 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._content_template_operations import build_delete_request, build_get_request, build_install_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ContentTemplateOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`content_template` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: _models.TemplateModel,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Required.
+ :type template_installation_properties: ~azure.mgmt.securityinsight.models.TemplateModel
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Required.
+ :type template_installation_properties: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: Union[_models.TemplateModel, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Is either a
+ TemplateModel type or a IO[bytes] type. Required.
+ :type template_installation_properties: ~azure.mgmt.securityinsight.models.TemplateModel or
+ IO[bytes]
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.TemplateModel] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(template_installation_properties, (IOBase, bytes)):
+ _content = template_installation_properties
+ else:
+ _json = self._serialize.body(template_installation_properties, "TemplateModel")
+
+ _request = build_install_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TemplateModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Gets a template byt its identifier.
+ Expandable properties:
+
+
+ * properties/mainTemplate
+ * properties/dependantTemplates.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TemplateModel] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TemplateModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any) -> None:
+ """Delete an installed template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_templates_operations.py
new file mode 100644
index 000000000000..c9b8dfb665d2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_content_templates_operations.py
@@ -0,0 +1,186 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._content_templates_operations import build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ContentTemplatesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`content_templates` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ expand: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.TemplateModel"]:
+ """Gets all installed templates.
+ Expandable properties:
+
+
+ * properties/mainTemplate
+ * properties/dependantTemplates.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param expand: Expands the object with optional fiends that are not included by default.
+ Optional. Default value is None.
+ :type expand: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either TemplateModel or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.TemplateModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TemplateList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ expand=expand,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("TemplateList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connector_definitions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connector_definitions_operations.py
new file mode 100644
index 000000000000..5493c2f23e87
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connector_definitions_operations.py
@@ -0,0 +1,404 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._data_connector_definitions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class DataConnectorDefinitionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`data_connector_definitions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> AsyncIterable["_models.DataConnectorDefinition"]:
+ """Gets all data connector definitions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either DataConnectorDefinition or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.DataConnectorDefinition]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.DataConnectorDefinitionArmCollectionWrapper] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataConnectorDefinitionArmCollectionWrapper", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, data_connector_definition_name: str, **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Gets a data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.DataConnectorDefinition] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("DataConnectorDefinition", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: _models.DataConnectorDefinition,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Required.
+ :type connector_definition_input: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Required.
+ :type connector_definition_input: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: Union[_models.DataConnectorDefinition, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Is either a
+ DataConnectorDefinition type or a IO[bytes] type. Required.
+ :type connector_definition_input: ~azure.mgmt.securityinsight.models.DataConnectorDefinition or
+ IO[bytes]
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataConnectorDefinition] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(connector_definition_input, (IOBase, bytes)):
+ _content = connector_definition_input
+ else:
+ _json = self._serialize.body(connector_definition_input, "DataConnectorDefinition")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("DataConnectorDefinition", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, data_connector_definition_name: str, **kwargs: Any
+ ) -> None:
+ """Delete the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_check_requirements_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_check_requirements_operations.py
index ad27dbca1787..9184e79dfdd2 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_check_requirements_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_check_requirements_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,25 +18,23 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._data_connectors_check_requirements_operations import build_post_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
-class DataConnectorsCheckRequirementsOperations:
+class DataConnectorsCheckRequirementsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@@ -79,7 +77,6 @@ async def post(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -90,7 +87,7 @@ async def post(
self,
resource_group_name: str,
workspace_name: str,
- data_connectors_check_requirements: IO,
+ data_connectors_check_requirements: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -104,11 +101,10 @@ async def post(
:type workspace_name: str
:param data_connectors_check_requirements: The parameters for requirements check message.
Required.
- :type data_connectors_check_requirements: IO
+ :type data_connectors_check_requirements: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -119,7 +115,7 @@ async def post(
self,
resource_group_name: str,
workspace_name: str,
- data_connectors_check_requirements: Union[_models.DataConnectorsCheckRequirements, IO],
+ data_connectors_check_requirements: Union[_models.DataConnectorsCheckRequirements, IO[bytes]],
**kwargs: Any
) -> _models.DataConnectorRequirementsState:
"""Get requirements state for a data connector type.
@@ -130,18 +126,14 @@ async def post(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param data_connectors_check_requirements: The parameters for requirements check message. Is
- either a model type or a IO type. Required.
+ either a DataConnectorsCheckRequirements type or a IO[bytes] type. Required.
:type data_connectors_check_requirements:
- ~azure.mgmt.securityinsight.models.DataConnectorsCheckRequirements or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.DataConnectorsCheckRequirements or IO[bytes]
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -152,21 +144,19 @@ async def post(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.DataConnectorRequirementsState] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(data_connectors_check_requirements, (IO, bytes)):
+ if isinstance(data_connectors_check_requirements, (IOBase, bytes)):
_content = data_connectors_check_requirements
else:
_json = self._serialize.body(data_connectors_check_requirements, "DataConnectorsCheckRequirements")
- request = build_post_request(
+ _request = build_post_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -174,15 +164,14 @@ async def post(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.post.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -191,13 +180,9 @@ async def post(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("DataConnectorRequirementsState", pipeline_response)
+ deserialized = self._deserialize("DataConnectorRequirementsState", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- post.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_operations.py
index 3e9a9ea01f82..2ae403a66c90 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_data_connectors_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._data_connectors_operations import (
build_connect_request,
build_create_or_update_request,
@@ -38,10 +36,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -76,7 +74,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either DataConnector or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.DataConnector]
@@ -85,12 +82,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.DataConnectorList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -101,17 +96,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -123,13 +116,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("DataConnectorList", pipeline_response)
@@ -139,10 +131,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -154,10 +147,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, data_connector_id: str, **kwargs: Any
@@ -171,12 +160,11 @@ async def get(
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -187,26 +175,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.DataConnector] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -215,16 +200,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("DataConnector", pipeline_response)
+ deserialized = self._deserialize("DataConnector", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -251,7 +232,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
@@ -263,7 +243,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- data_connector: IO,
+ data_connector: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -278,11 +258,10 @@ async def create_or_update(
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
:param data_connector: The data connector. Required.
- :type data_connector: IO
+ :type data_connector: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
@@ -294,7 +273,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- data_connector: Union[_models.DataConnector, IO],
+ data_connector: Union[_models.DataConnector, IO[bytes]],
**kwargs: Any
) -> _models.DataConnector:
"""Creates or updates the data connector.
@@ -306,17 +285,14 @@ async def create_or_update(
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :param data_connector: The data connector. Is either a model type or a IO type. Required.
- :type data_connector: ~azure.mgmt.securityinsight.models.DataConnector or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param data_connector: The data connector. Is either a DataConnector type or a IO[bytes] type.
+ Required.
+ :type data_connector: ~azure.mgmt.securityinsight.models.DataConnector or IO[bytes]
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -327,21 +303,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.DataConnector] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(data_connector, (IO, bytes)):
+ if isinstance(data_connector, (IOBase, bytes)):
_content = data_connector
else:
_json = self._serialize.body(data_connector, "DataConnector")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
@@ -350,15 +324,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -367,23 +340,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("DataConnector", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("DataConnector", pipeline_response)
+ deserialized = self._deserialize("DataConnector", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, data_connector_id: str, **kwargs: Any
) -> None:
"""Delete the data connector.
@@ -395,12 +360,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -411,26 +375,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -440,14 +401,10 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
- async def connect( # pylint: disable=inconsistent-return-statements
+ async def connect(
self,
resource_group_name: str,
workspace_name: str,
@@ -471,19 +428,18 @@ async def connect( # pylint: disable=inconsistent-return-statements
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- async def connect( # pylint: disable=inconsistent-return-statements
+ async def connect(
self,
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- connect_body: IO,
+ connect_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -498,23 +454,22 @@ async def connect( # pylint: disable=inconsistent-return-statements
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
:param connect_body: The data connector. Required.
- :type connect_body: IO
+ :type connect_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
- async def connect( # pylint: disable=inconsistent-return-statements
+ async def connect(
self,
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- connect_body: Union[_models.DataConnectorConnectBody, IO],
+ connect_body: Union[_models.DataConnectorConnectBody, IO[bytes]],
**kwargs: Any
) -> None:
"""Connects a data connector.
@@ -526,17 +481,14 @@ async def connect( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :param connect_body: The data connector. Is either a model type or a IO type. Required.
- :type connect_body: ~azure.mgmt.securityinsight.models.DataConnectorConnectBody or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param connect_body: The data connector. Is either a DataConnectorConnectBody type or a
+ IO[bytes] type. Required.
+ :type connect_body: ~azure.mgmt.securityinsight.models.DataConnectorConnectBody or IO[bytes]
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -547,21 +499,19 @@ async def connect( # pylint: disable=inconsistent-return-statements
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[None] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(connect_body, (IO, bytes)):
+ if isinstance(connect_body, (IOBase, bytes)):
_content = connect_body
else:
_json = self._serialize.body(connect_body, "DataConnectorConnectBody")
- request = build_connect_request(
+ _request = build_connect_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
@@ -570,15 +520,14 @@ async def connect( # pylint: disable=inconsistent-return-statements
content_type=content_type,
json=_json,
content=_content,
- template_url=self.connect.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -588,14 +537,10 @@ async def connect( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- connect.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace_async
- async def disconnect( # pylint: disable=inconsistent-return-statements
+ async def disconnect(
self, resource_group_name: str, workspace_name: str, data_connector_id: str, **kwargs: Any
) -> None:
"""Disconnect a data connector.
@@ -607,12 +552,11 @@ async def disconnect( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -623,26 +567,23 @@ async def disconnect( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_disconnect_request(
+ _request = build_disconnect_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.disconnect.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -652,8 +593,4 @@ async def disconnect( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- disconnect.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/disconnect"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_get_timeline_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_get_timeline_operations.py
index 62111c6a7259..fd330b763f66 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_get_timeline_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_get_timeline_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entities_get_timeline_operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -81,7 +79,6 @@ async def list(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -93,7 +90,7 @@ async def list(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -109,11 +106,10 @@ async def list(
:type entity_id: str
:param parameters: The parameters required to execute an timeline operation on the given
entity. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -125,7 +121,7 @@ async def list(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityTimelineParameters, IO],
+ parameters: Union[_models.EntityTimelineParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityTimelineResponse:
"""Timeline for an entity.
@@ -138,17 +134,13 @@ async def list(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute an timeline operation on the given
- entity. Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityTimelineParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ entity. Is either a EntityTimelineParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityTimelineParameters or IO[bytes]
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -159,21 +151,19 @@ async def list(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityTimelineResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityTimelineParameters")
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -182,15 +172,14 @@ async def list(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -199,13 +188,9 @@ async def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityTimelineResponse", pipeline_response)
+ deserialized = self._deserialize("EntityTimelineResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_operations.py
index ddabc83cb09f..249d81a3f5c3 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,27 +20,26 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entities_operations import (
build_expand_request,
build_get_insights_request,
build_get_request,
build_list_request,
build_queries_request,
+ build_run_playbook_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -64,6 +63,148 @@ def __init__(self, *args, **kwargs) -> None:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+ @overload
+ async def run_playbook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[_models.EntityManualTriggerRequestBody] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Default
+ value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.EntityManualTriggerRequestBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def run_playbook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Default
+ value is None.
+ :type request_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def run_playbook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[Union[_models.EntityManualTriggerRequestBody, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Is
+ either a EntityManualTriggerRequestBody type or a IO[bytes] type. Default value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.EntityManualTriggerRequestBody or
+ IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(request_body, (IOBase, bytes)):
+ _content = request_body
+ else:
+ if request_body is not None:
+ _json = self._serialize.body(request_body, "EntityManualTriggerRequestBody")
+ else:
+ _json = None
+
+ _request = build_run_playbook_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ entity_identifier=entity_identifier,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
@distributed_trace
def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> AsyncIterable["_models.Entity"]:
"""Gets all entities.
@@ -73,7 +214,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Entity or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Entity]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -81,12 +221,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -97,17 +235,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -119,13 +255,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("EntityList", pipeline_response)
@@ -135,10 +270,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -150,10 +286,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities"
- }
-
@distributed_trace_async
async def get(self, resource_group_name: str, workspace_name: str, entity_id: str, **kwargs: Any) -> _models.Entity:
"""Gets an entity.
@@ -165,12 +297,11 @@ async def get(self, resource_group_name: str, workspace_name: str, entity_id: st
:type workspace_name: str
:param entity_id: entity ID. Required.
:type entity_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Entity or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Entity
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -181,26 +312,23 @@ async def get(self, resource_group_name: str, workspace_name: str, entity_id: st
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Entity] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -209,16 +337,12 @@ async def get(self, resource_group_name: str, workspace_name: str, entity_id: st
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Entity", pipeline_response)
+ deserialized = self._deserialize("Entity", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}"
- }
+ return deserialized # type: ignore
@overload
async def expand(
@@ -246,7 +370,6 @@ async def expand(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -258,7 +381,7 @@ async def expand(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -274,11 +397,10 @@ async def expand(
:type entity_id: str
:param parameters: The parameters required to execute an expand operation on the given entity.
Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -290,7 +412,7 @@ async def expand(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityExpandParameters, IO],
+ parameters: Union[_models.EntityExpandParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityExpandResponse:
"""Expands an entity.
@@ -303,17 +425,13 @@ async def expand(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute an expand operation on the given entity.
- Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityExpandParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ Is either a EntityExpandParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityExpandParameters or IO[bytes]
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -324,21 +442,19 @@ async def expand(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityExpandResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityExpandParameters")
- request = build_expand_request(
+ _request = build_expand_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -347,15 +463,14 @@ async def expand(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.expand.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -364,26 +479,22 @@ async def expand(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityExpandResponse", pipeline_response)
+ deserialized = self._deserialize("EntityExpandResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
+ return deserialized # type: ignore
- expand.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand"
- }
-
- @distributed_trace_async
- async def queries(
+ @distributed_trace
+ def queries(
self,
resource_group_name: str,
workspace_name: str,
entity_id: str,
kind: Union[str, _models.EntityItemQueryKind],
**kwargs: Any
- ) -> _models.GetQueriesResponse:
+ ) -> AsyncIterable["_models.EntityQueryItem"]:
"""Get Insights and Activities for an entity.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -395,12 +506,18 @@ async def queries(
:type entity_id: str
:param kind: The Kind parameter for queries. "Insight" Required.
:type kind: str or ~azure.mgmt.securityinsight.models.EntityItemQueryKind
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: GetQueriesResponse or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.GetQueriesResponse
+ :return: An iterator like instance of either EntityQueryItem or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.EntityQueryItem]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.GetQueriesResponse] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -408,48 +525,61 @@ async def queries(
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.GetQueriesResponse] = kwargs.pop("cls", None)
+ def prepare_request(next_link=None):
+ if not next_link:
- request = build_queries_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- entity_id=entity_id,
- subscription_id=self._config.subscription_id,
- kind=kind,
- api_version=api_version,
- template_url=self.queries.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request = build_queries_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ entity_id=entity_id,
+ subscription_id=self._config.subscription_id,
+ kind=kind,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
- response = pipeline_response.http_response
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("GetQueriesResponse", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return None, AsyncList(list_of_elem)
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
- deserialized = self._deserialize("GetQueriesResponse", pipeline_response)
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
- if cls:
- return cls(pipeline_response, deserialized, {})
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- return deserialized
+ return pipeline_response
- queries.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries"
- }
+ return AsyncItemPaged(get_next, extract_data)
@overload
async def get_insights(
@@ -476,7 +606,6 @@ async def get_insights(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -488,7 +617,7 @@ async def get_insights(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -503,11 +632,10 @@ async def get_insights(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute insights on the given entity. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -519,7 +647,7 @@ async def get_insights(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityGetInsightsParameters, IO],
+ parameters: Union[_models.EntityGetInsightsParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityGetInsightsResponse:
"""Execute Insights for an entity.
@@ -532,17 +660,13 @@ async def get_insights(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute insights on the given entity. Is either a
- model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityGetInsightsParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ EntityGetInsightsParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityGetInsightsParameters or IO[bytes]
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -553,21 +677,19 @@ async def get_insights(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityGetInsightsResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityGetInsightsParameters")
- request = build_get_insights_request(
+ _request = build_get_insights_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -576,15 +698,14 @@ async def get_insights(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.get_insights.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -593,13 +714,9 @@ async def get_insights(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityGetInsightsResponse", pipeline_response)
+ deserialized = self._deserialize("EntityGetInsightsResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get_insights.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_relations_operations.py
index d232b818621f..916cb9f1cf96 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entities_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entities_relations_operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -90,7 +87,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -98,12 +94,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -114,7 +108,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -124,12 +118,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -141,13 +133,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -157,10 +148,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -171,7 +163,3 @@ async def get_next(next_link=None):
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_queries_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_queries_operations.py
index 2a53846738ea..fcffe28a4a78 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_queries_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_queries_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entity_queries_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -68,7 +66,7 @@ def list(
self,
resource_group_name: str,
workspace_name: str,
- kind: Optional[Union[str, _models.Enum13]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> AsyncIterable["_models.EntityQuery"]:
"""Gets all entity queries.
@@ -78,10 +76,10 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param kind: The entity query kind we want to fetch. Known values are: "Expansion" and
- "Activity". Default value is None.
- :type kind: str or ~azure.mgmt.securityinsight.models.Enum13
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param kind: The entity query kind we want to fetch. Known values are: "Activity", "Insight",
+ "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly". Default value is
+ None.
+ :type kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
:return: An iterator like instance of either EntityQuery or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.EntityQuery]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -89,12 +87,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -105,18 +101,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
kind=kind,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -128,13 +122,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("EntityQueryList", pipeline_response)
@@ -144,10 +137,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -159,10 +153,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, entity_query_id: str, **kwargs: Any
@@ -176,12 +166,11 @@ async def get(
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -192,26 +181,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQuery] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -220,16 +206,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityQuery", pipeline_response)
+ deserialized = self._deserialize("EntityQuery", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -256,7 +238,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
@@ -268,7 +249,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
entity_query_id: str,
- entity_query: IO,
+ entity_query: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -283,11 +264,10 @@ async def create_or_update(
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
:param entity_query: The entity query we want to create or update. Required.
- :type entity_query: IO
+ :type entity_query: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
@@ -299,7 +279,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
entity_query_id: str,
- entity_query: Union[_models.CustomEntityQuery, IO],
+ entity_query: Union[_models.CustomEntityQuery, IO[bytes]],
**kwargs: Any
) -> _models.EntityQuery:
"""Creates or updates the entity query.
@@ -311,18 +291,14 @@ async def create_or_update(
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :param entity_query: The entity query we want to create or update. Is either a model type or a
- IO type. Required.
- :type entity_query: ~azure.mgmt.securityinsight.models.CustomEntityQuery or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param entity_query: The entity query we want to create or update. Is either a
+ CustomEntityQuery type or a IO[bytes] type. Required.
+ :type entity_query: ~azure.mgmt.securityinsight.models.CustomEntityQuery or IO[bytes]
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -333,21 +309,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityQuery] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(entity_query, (IO, bytes)):
+ if isinstance(entity_query, (IOBase, bytes)):
_content = entity_query
else:
_json = self._serialize.body(entity_query, "CustomEntityQuery")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
@@ -356,15 +330,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -373,25 +346,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("EntityQuery", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("EntityQuery", pipeline_response)
+ deserialized = self._deserialize("EntityQuery", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, entity_query_id: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, entity_query_id: str, **kwargs: Any) -> None:
"""Delete the entity query.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -401,12 +364,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -417,26 +379,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -446,8 +405,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_query_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_query_templates_operations.py
index e2f34e18fc04..c0f821b4826f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_query_templates_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_query_templates_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,21 +19,19 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entity_query_templates_operations import build_get_request, build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -63,7 +60,7 @@ def list(
self,
resource_group_name: str,
workspace_name: str,
- kind: Optional[Union[str, _models.Enum15]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> AsyncIterable["_models.EntityQueryTemplate"]:
"""Gets all entity query templates.
@@ -73,9 +70,10 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param kind: The entity template query kind we want to fetch. "Activity" Default value is None.
- :type kind: str or ~azure.mgmt.securityinsight.models.Enum15
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param kind: The entity template query kind we want to fetch. Known values are: "Activity",
+ "Insight", "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly". Default
+ value is None.
+ :type kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
:return: An iterator like instance of either EntityQueryTemplate or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
@@ -84,12 +82,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryTemplateList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -100,18 +96,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
kind=kind,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -123,13 +117,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("EntityQueryTemplateList", pipeline_response)
@@ -139,10 +132,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -154,10 +148,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, entity_query_template_id: str, **kwargs: Any
@@ -171,12 +161,11 @@ async def get(
:type workspace_name: str
:param entity_query_template_id: entity query template ID. Required.
:type entity_query_template_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQueryTemplate or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQueryTemplate
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -187,26 +176,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryTemplate] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_template_id=entity_query_template_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -215,13 +201,9 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityQueryTemplate", pipeline_response)
+ deserialized = self._deserialize("EntityQueryTemplate", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates/{entityQueryTemplateId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_relations_operations.py
index 9cb8ac64c04b..8d599c4bb441 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_entity_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._entity_relations_operations import build_get_relation_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -70,12 +67,11 @@ async def get_relation(
:type entity_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -86,27 +82,24 @@ async def get_relation(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_relation_request(
+ _request = build_get_relation_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get_relation.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -115,13 +108,9 @@ async def get_relation(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get_relation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_file_imports_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_file_imports_operations.py
index 5636b9487428..ed948f6304ac 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_file_imports_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_file_imports_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -17,12 +17,13 @@
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
@@ -30,7 +31,6 @@
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._file_imports_operations import (
build_create_request,
build_delete_request,
@@ -38,10 +38,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -95,7 +95,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either FileImport or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.FileImport]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -103,12 +102,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImportList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -119,7 +116,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -128,12 +125,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -145,13 +140,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("FileImportList", pipeline_response)
@@ -161,25 +155,23 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, file_import_id: str, **kwargs: Any
@@ -193,12 +185,11 @@ async def get(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -209,44 +200,38 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = self._deserialize("FileImport", pipeline_response)
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
@overload
async def create(
@@ -273,7 +258,6 @@ async def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
@@ -285,7 +269,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
file_import_id: str,
- file_import: IO,
+ file_import: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -300,11 +284,10 @@ async def create(
:param file_import_id: File import ID. Required.
:type file_import_id: str
:param file_import: The file import. Required.
- :type file_import: IO
+ :type file_import: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
@@ -316,7 +299,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
file_import_id: str,
- file_import: Union[_models.FileImport, IO],
+ file_import: Union[_models.FileImport, IO[bytes]],
**kwargs: Any
) -> _models.FileImport:
"""Creates the file import.
@@ -328,17 +311,13 @@ async def create(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :param file_import: The file import. Is either a model type or a IO type. Required.
- :type file_import: ~azure.mgmt.securityinsight.models.FileImport or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param file_import: The file import. Is either a FileImport type or a IO[bytes] type. Required.
+ :type file_import: ~azure.mgmt.securityinsight.models.FileImport or IO[bytes]
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -349,21 +328,19 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(file_import, (IO, bytes)):
+ if isinstance(file_import, (IOBase, bytes)):
_content = file_import
else:
_json = self._serialize.body(file_import, "FileImport")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
@@ -372,38 +349,34 @@ async def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [201]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = self._deserialize("FileImport", pipeline_response)
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
async def _delete_initial(
self, resource_group_name: str, workspace_name: str, file_import_id: str, **kwargs: Any
- ) -> Optional[_models.FileImport]:
- error_map = {
+ ) -> AsyncIterator[bytes]:
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -414,46 +387,47 @@ async def _delete_initial(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[Optional[_models.FileImport]] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self._delete_initial.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [202, 204]:
+ try:
+ await response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = None
+ response_headers = {}
if response.status_code == 202:
- deserialized = self._deserialize("FileImport", pipeline_response)
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
- if cls:
- return cls(pipeline_response, deserialized, {})
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
- return deserialized
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
- _delete_initial.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
@distributed_trace_async
async def begin_delete(
@@ -468,14 +442,6 @@ async def begin_delete(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
- this operation to not poll, or pass in your own initialized polling object for a personal
- polling strategy.
- :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
:return: An instance of AsyncLROPoller that returns either FileImport or the result of
cls(response)
:rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.FileImport]
@@ -484,9 +450,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
@@ -502,12 +466,17 @@ async def begin_delete(
params=_params,
**kwargs
)
+ await raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
- deserialized = self._deserialize("FileImport", pipeline_response)
+ response_headers = {}
+ response = pipeline_response.http_response
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
return deserialized
if polling is True:
@@ -519,14 +488,12 @@ def get_long_running_output(pipeline_response):
else:
polling_method = polling
if cont_token:
- return AsyncLROPoller.from_continuation_token(
+ return AsyncLROPoller[_models.FileImport].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
- return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore
-
- begin_delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return AsyncLROPoller[_models.FileImport](
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
+ )
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_operations.py
index 015f667e45a7..334a50ad2b6f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._get_operations import build_single_recommendation_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -68,12 +65,11 @@ async def single_recommendation(
:type workspace_name: str
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Recommendation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -84,26 +80,23 @@ async def single_recommendation(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
- request = build_single_recommendation_request(
+ _request = build_single_recommendation_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
recommendation_id=recommendation_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.single_recommendation.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -112,13 +105,9 @@ async def single_recommendation(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Recommendation", pipeline_response)
+ deserialized = self._deserialize("Recommendation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- single_recommendation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_recommendations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_recommendations_operations.py
index e46e68a6f58a..2f1a7cff8c7e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_recommendations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_recommendations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7,8 +6,10 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, Callable, Dict, Optional, TypeVar
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+from azure.core.async_paging import AsyncItemPaged, AsyncList
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
@@ -18,20 +19,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
-from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._get_recommendations_operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -55,8 +54,10 @@ def __init__(self, *args, **kwargs) -> None:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
- @distributed_trace_async
- async def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _models.RecommendationList:
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> AsyncIterable["_models.Recommendation"]:
"""Gets a list of all recommendations.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -64,12 +65,18 @@ async def list(self, resource_group_name: str, workspace_name: str, **kwargs: An
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: RecommendationList or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.RecommendationList
+ :return: An iterator like instance of either Recommendation or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Recommendation]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.RecommendationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -77,43 +84,56 @@ async def list(self, resource_group_name: str, workspace_name: str, **kwargs: An
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.RecommendationList] = kwargs.pop("cls", None)
-
- request = build_list_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- template_url=self.list.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("RecommendationList", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations"
- }
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("RecommendationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_triggered_analytics_rule_runs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_triggered_analytics_rule_runs_operations.py
new file mode 100644
index 000000000000..f82c1b2b36c9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_get_triggered_analytics_rule_runs_operations.py
@@ -0,0 +1,140 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._get_triggered_analytics_rule_runs_operations import build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class GetTriggeredAnalyticsRuleRunsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`get_triggered_analytics_rule_runs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> AsyncIterable["_models.TriggeredAnalyticsRuleRun"]:
+ """Gets the triggered analytics rule runs.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either TriggeredAnalyticsRuleRun or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TriggeredAnalyticsRuleRuns] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("TriggeredAnalyticsRuleRuns", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_comments_operations.py
new file mode 100644
index 000000000000..585fbe7e0caa
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_comments_operations.py
@@ -0,0 +1,444 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._hunt_comments_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class HuntCommentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`hunt_comments` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.HuntComment"]:
+ """Gets all hunt comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either HuntComment or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.HuntComment]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntCommentList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntCommentList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_comment_id: str, **kwargs: Any
+ ) -> _models.HuntComment:
+ """Gets a hunt comment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntComment] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntComment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_comment_id: str, **kwargs: Any
+ ) -> None:
+ """Delete a hunt comment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: _models.HuntComment,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Required.
+ :type hunt_comment: ~azure.mgmt.securityinsight.models.HuntComment
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Required.
+ :type hunt_comment: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: Union[_models.HuntComment, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Is either a HuntComment type or a IO[bytes] type.
+ Required.
+ :type hunt_comment: ~azure.mgmt.securityinsight.models.HuntComment or IO[bytes]
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.HuntComment] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt_comment, (IOBase, bytes)):
+ _content = hunt_comment
+ else:
+ _json = self._serialize.body(hunt_comment, "HuntComment")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntComment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_relations_operations.py
new file mode 100644
index 000000000000..b71cd4c1e82b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunt_relations_operations.py
@@ -0,0 +1,445 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._hunt_relations_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class HuntRelationsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`hunt_relations` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.HuntRelation"]:
+ """Gets all hunt relations.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either HuntRelation or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.HuntRelation]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntRelationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntRelationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_relation_id: str, **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Gets a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntRelation] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntRelation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_relation_id: str, **kwargs: Any
+ ) -> None:
+ """Delete a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: _models.HuntRelation,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Required.
+ :type hunt_relation: ~azure.mgmt.securityinsight.models.HuntRelation
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Required.
+ :type hunt_relation: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: Union[_models.HuntRelation, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Is either a HuntRelation type or a IO[bytes] type.
+ Required.
+ :type hunt_relation: ~azure.mgmt.securityinsight.models.HuntRelation or IO[bytes]
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.HuntRelation] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt_relation, (IOBase, bytes)):
+ _content = hunt_relation
+ else:
+ _json = self._serialize.body(hunt_relation, "HuntRelation")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntRelation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunts_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunts_operations.py
new file mode 100644
index 000000000000..70456e5e44dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_hunts_operations.py
@@ -0,0 +1,419 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._hunts_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class HuntsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`hunts` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Hunt"]:
+ """Gets all hunts, without relations and comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either Hunt or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Hunt]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(self, resource_group_name: str, workspace_name: str, hunt_id: str, **kwargs: Any) -> _models.Hunt:
+ """Gets a hunt, without relations and comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Hunt] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Hunt", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(self, resource_group_name: str, workspace_name: str, hunt_id: str, **kwargs: Any) -> None:
+ """Delete a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: _models.Hunt,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Required.
+ :type hunt: ~azure.mgmt.securityinsight.models.Hunt
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Required.
+ :type hunt: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: Union[_models.Hunt, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Is either a Hunt type or a IO[bytes] type. Required.
+ :type hunt: ~azure.mgmt.securityinsight.models.Hunt or IO[bytes]
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Hunt] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt, (IOBase, bytes)):
+ _content = hunt
+ else:
+ _json = self._serialize.body(hunt, "Hunt")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Hunt", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_comments_operations.py
index 0a69a9384b3f..e416c3f125c9 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_comments_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_comments_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._incident_comments_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -96,7 +94,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either IncidentComment or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.IncidentComment]
@@ -105,12 +102,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentCommentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -121,7 +116,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -131,12 +126,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -148,13 +141,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentCommentList", pipeline_response)
@@ -164,10 +156,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -179,10 +172,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_comment_id: str, **kwargs: Any
@@ -198,12 +187,11 @@ async def get(
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -214,27 +202,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentComment] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_comment_id=incident_comment_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -243,16 +228,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentComment", pipeline_response)
+ deserialized = self._deserialize("IncidentComment", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -282,7 +263,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
@@ -295,7 +275,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
incident_comment_id: str,
- incident_comment: IO,
+ incident_comment: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -312,11 +292,10 @@ async def create_or_update(
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
:param incident_comment: The incident comment. Required.
- :type incident_comment: IO
+ :type incident_comment: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
@@ -329,7 +308,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
incident_comment_id: str,
- incident_comment: Union[_models.IncidentComment, IO],
+ incident_comment: Union[_models.IncidentComment, IO[bytes]],
**kwargs: Any
) -> _models.IncidentComment:
"""Creates or updates the incident comment.
@@ -343,17 +322,14 @@ async def create_or_update(
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :param incident_comment: The incident comment. Is either a model type or a IO type. Required.
- :type incident_comment: ~azure.mgmt.securityinsight.models.IncidentComment or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident_comment: The incident comment. Is either a IncidentComment type or a IO[bytes]
+ type. Required.
+ :type incident_comment: ~azure.mgmt.securityinsight.models.IncidentComment or IO[bytes]
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -364,21 +340,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.IncidentComment] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident_comment, (IO, bytes)):
+ if isinstance(incident_comment, (IOBase, bytes)):
_content = incident_comment
else:
_json = self._serialize.body(incident_comment, "IncidentComment")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -388,15 +362,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -405,23 +378,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("IncidentComment", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("IncidentComment", pipeline_response)
+ deserialized = self._deserialize("IncidentComment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_comment_id: str, **kwargs: Any
) -> None:
"""Delete the incident comment.
@@ -435,12 +400,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -451,27 +415,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_comment_id=incident_comment_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -481,8 +442,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_relations_operations.py
index 3fa719c8adf6..52fdbad35f1c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._incident_relations_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -96,7 +94,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -104,12 +101,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -120,7 +115,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -130,12 +125,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -147,13 +140,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -163,10 +155,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -178,10 +171,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, relation_name: str, **kwargs: Any
@@ -197,12 +186,11 @@ async def get(
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -213,27 +201,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -242,16 +227,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -281,7 +262,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -294,7 +274,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
relation_name: str,
- relation: IO,
+ relation: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -311,11 +291,10 @@ async def create_or_update(
:param relation_name: Relation Name. Required.
:type relation_name: str
:param relation: The relation model. Required.
- :type relation: IO
+ :type relation: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -328,7 +307,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
relation_name: str,
- relation: Union[_models.Relation, IO],
+ relation: Union[_models.Relation, IO[bytes]],
**kwargs: Any
) -> _models.Relation:
"""Creates or updates the incident relation.
@@ -342,17 +321,13 @@ async def create_or_update(
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :param relation: The relation model. Is either a model type or a IO type. Required.
- :type relation: ~azure.mgmt.securityinsight.models.Relation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param relation: The relation model. Is either a Relation type or a IO[bytes] type. Required.
+ :type relation: ~azure.mgmt.securityinsight.models.Relation or IO[bytes]
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -363,21 +338,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(relation, (IO, bytes)):
+ if isinstance(relation, (IOBase, bytes)):
_content = relation
else:
_json = self._serialize.body(relation, "Relation")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -387,15 +360,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -404,23 +376,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Relation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, incident_id: str, relation_name: str, **kwargs: Any
) -> None:
"""Delete the incident relation.
@@ -434,12 +398,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -450,27 +413,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -480,8 +440,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_tasks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_tasks_operations.py
index 3ab32b7e4d51..d55e0e7893dc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_tasks_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incident_tasks_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._incident_tasks_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -76,7 +74,6 @@ def list(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either IncidentTask or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.IncidentTask]
@@ -85,12 +82,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentTaskList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -101,18 +96,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -124,13 +117,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentTaskList", pipeline_response)
@@ -140,10 +132,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -155,10 +148,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_task_id: str, **kwargs: Any
@@ -174,12 +163,11 @@ async def get(
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -190,27 +178,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentTask] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_task_id=incident_task_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -219,16 +204,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentTask", pipeline_response)
+ deserialized = self._deserialize("IncidentTask", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -258,7 +239,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
@@ -271,7 +251,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
incident_task_id: str,
- incident_task: IO,
+ incident_task: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -288,11 +268,10 @@ async def create_or_update(
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
:param incident_task: The incident task. Required.
- :type incident_task: IO
+ :type incident_task: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
@@ -305,7 +284,7 @@ async def create_or_update(
workspace_name: str,
incident_id: str,
incident_task_id: str,
- incident_task: Union[_models.IncidentTask, IO],
+ incident_task: Union[_models.IncidentTask, IO[bytes]],
**kwargs: Any
) -> _models.IncidentTask:
"""Creates or updates the incident task.
@@ -319,17 +298,14 @@ async def create_or_update(
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :param incident_task: The incident task. Is either a model type or a IO type. Required.
- :type incident_task: ~azure.mgmt.securityinsight.models.IncidentTask or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident_task: The incident task. Is either a IncidentTask type or a IO[bytes] type.
+ Required.
+ :type incident_task: ~azure.mgmt.securityinsight.models.IncidentTask or IO[bytes]
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -340,21 +316,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.IncidentTask] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident_task, (IO, bytes)):
+ if isinstance(incident_task, (IOBase, bytes)):
_content = incident_task
else:
_json = self._serialize.body(incident_task, "IncidentTask")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -364,15 +338,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -381,23 +354,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("IncidentTask", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("IncidentTask", pipeline_response)
+ deserialized = self._deserialize("IncidentTask", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_task_id: str, **kwargs: Any
) -> None:
"""Delete the incident task.
@@ -411,12 +376,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -427,27 +391,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_task_id=incident_task_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -457,8 +418,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incidents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incidents_operations.py
index a0452b513c88..4f6759aca607 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incidents_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_incidents_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,18 +20,15 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._incidents_operations import (
build_create_or_update_request,
- build_create_team_request,
build_delete_request,
build_get_request,
build_list_alerts_request,
@@ -44,11 +41,7 @@
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
- from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -98,7 +91,6 @@ async def run_playbook(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
@@ -110,7 +102,7 @@ async def run_playbook(
resource_group_name: str,
workspace_name: str,
incident_identifier: str,
- request_body: Optional[IO] = None,
+ request_body: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -125,11 +117,10 @@ async def run_playbook(
:param incident_identifier: Required.
:type incident_identifier: str
:param request_body: Default value is None.
- :type request_body: IO
+ :type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
@@ -141,7 +132,7 @@ async def run_playbook(
resource_group_name: str,
workspace_name: str,
incident_identifier: str,
- request_body: Optional[Union[_models.ManualTriggerRequestBody, IO]] = None,
+ request_body: Optional[Union[_models.ManualTriggerRequestBody, IO[bytes]]] = None,
**kwargs: Any
) -> JSON:
"""Triggers playbook on a specific incident.
@@ -153,17 +144,14 @@ async def run_playbook(
:type workspace_name: str
:param incident_identifier: Required.
:type incident_identifier: str
- :param request_body: Is either a model type or a IO type. Default value is None.
- :type request_body: ~azure.mgmt.securityinsight.models.ManualTriggerRequestBody or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param request_body: Is either a ManualTriggerRequestBody type or a IO[bytes] type. Default
+ value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.ManualTriggerRequestBody or IO[bytes]
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -174,16 +162,14 @@ async def run_playbook(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[JSON] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(request_body, (IO, bytes)):
+ if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
if request_body is not None:
@@ -191,7 +177,7 @@ async def run_playbook(
else:
_json = None
- request = build_run_playbook_request(
+ _request = build_run_playbook_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_identifier=incident_identifier,
@@ -200,15 +186,14 @@ async def run_playbook(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.run_playbook.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -217,16 +202,12 @@ async def run_playbook(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("object", pipeline_response)
+ deserialized = self._deserialize("object", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- run_playbook.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook"
- }
+ return deserialized # type: ignore
@distributed_trace
def list(
@@ -258,7 +239,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Incident or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Incident]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -266,12 +246,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -282,7 +260,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -291,12 +269,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -308,13 +284,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentList", pipeline_response)
@@ -324,10 +299,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -339,10 +315,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, **kwargs: Any
@@ -356,12 +328,11 @@ async def get(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -372,26 +343,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Incident] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -400,16 +368,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Incident", pipeline_response)
+ deserialized = self._deserialize("Incident", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -436,7 +400,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
@@ -448,7 +411,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
incident_id: str,
- incident: IO,
+ incident: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -463,11 +426,10 @@ async def create_or_update(
:param incident_id: Incident ID. Required.
:type incident_id: str
:param incident: The incident. Required.
- :type incident: IO
+ :type incident: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
@@ -479,7 +441,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
incident_id: str,
- incident: Union[_models.Incident, IO],
+ incident: Union[_models.Incident, IO[bytes]],
**kwargs: Any
) -> _models.Incident:
"""Creates or updates the incident.
@@ -491,17 +453,13 @@ async def create_or_update(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :param incident: The incident. Is either a model type or a IO type. Required.
- :type incident: ~azure.mgmt.securityinsight.models.Incident or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident: The incident. Is either a Incident type or a IO[bytes] type. Required.
+ :type incident: ~azure.mgmt.securityinsight.models.Incident or IO[bytes]
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -512,21 +470,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Incident] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident, (IO, bytes)):
+ if isinstance(incident, (IOBase, bytes)):
_content = incident
else:
_json = self._serialize.body(incident, "Incident")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -535,15 +491,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -552,25 +507,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Incident", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Incident", pipeline_response)
+ deserialized = self._deserialize("Incident", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, incident_id: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, incident_id: str, **kwargs: Any) -> None:
"""Delete the incident.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -580,12 +525,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -596,26 +540,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -625,166 +566,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
-
- @overload
- async def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: _models.TeamInformation,
- *,
- content_type: str = "application/json",
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Required.
- :type team_properties: ~azure.mgmt.securityinsight.models.TeamInformation
- :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
- Default value is "application/json".
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
-
- @overload
- async def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: IO,
- *,
- content_type: str = "application/json",
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Required.
- :type team_properties: IO
- :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
- Default value is "application/json".
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
-
- @distributed_trace_async
- async def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: Union[_models.TeamInformation, IO],
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Is either a model type or a IO type. Required.
- :type team_properties: ~azure.mgmt.securityinsight.models.TeamInformation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.TeamInformation] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(team_properties, (IO, bytes)):
- _content = team_properties
- else:
- _json = self._serialize.body(team_properties, "TeamInformation")
-
- request = build_create_team_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- incident_id=incident_id,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self.create_team.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("TeamInformation", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- create_team.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace_async
async def list_alerts(
@@ -799,12 +581,11 @@ async def list_alerts(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentAlertList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentAlertList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -815,26 +596,23 @@ async def list_alerts(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentAlertList] = kwargs.pop("cls", None)
- request = build_list_alerts_request(
+ _request = build_list_alerts_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_alerts.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -843,16 +621,12 @@ async def list_alerts(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentAlertList", pipeline_response)
+ deserialized = self._deserialize("IncidentAlertList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_alerts.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts"
- }
+ return deserialized # type: ignore
@distributed_trace_async
async def list_bookmarks(
@@ -867,12 +641,11 @@ async def list_bookmarks(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentBookmarkList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentBookmarkList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -883,26 +656,23 @@ async def list_bookmarks(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentBookmarkList] = kwargs.pop("cls", None)
- request = build_list_bookmarks_request(
+ _request = build_list_bookmarks_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_bookmarks.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -911,16 +681,12 @@ async def list_bookmarks(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentBookmarkList", pipeline_response)
+ deserialized = self._deserialize("IncidentBookmarkList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_bookmarks.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks"
- }
+ return deserialized # type: ignore
@distributed_trace_async
async def list_entities(
@@ -935,12 +701,11 @@ async def list_entities(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentEntitiesResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentEntitiesResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -951,26 +716,23 @@ async def list_entities(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentEntitiesResponse] = kwargs.pop("cls", None)
- request = build_list_entities_request(
+ _request = build_list_entities_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_entities.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -979,13 +741,9 @@ async def list_entities(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentEntitiesResponse", pipeline_response)
+ deserialized = self._deserialize("IncidentEntitiesResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_entities.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_metadata_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_metadata_operations.py
index f9d87e686bcd..a52172a466d8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_metadata_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_metadata_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._metadata_operations import (
build_create_request,
build_delete_request,
@@ -37,10 +35,10 @@
build_update_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -92,7 +90,6 @@ def list(
:param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
next page of results if there are any left. Default value is None.
:type skip: int
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MetadataModel or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.MetadataModel]
@@ -101,12 +98,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MetadataList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -117,7 +112,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -126,12 +121,10 @@ def prepare_request(next_link=None):
top=top,
skip=skip,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -143,13 +136,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("MetadataList", pipeline_response)
@@ -159,10 +151,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -174,10 +167,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, metadata_name: str, **kwargs: Any
@@ -191,12 +180,11 @@ async def get(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -207,26 +195,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -235,21 +220,15 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return deserialized # type: ignore
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, metadata_name: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, metadata_name: str, **kwargs: Any) -> None:
"""Delete a Metadata.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -259,12 +238,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -275,26 +253,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -304,11 +279,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
async def create(
@@ -335,7 +306,6 @@ async def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -347,7 +317,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata: IO,
+ metadata: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -362,11 +332,10 @@ async def create(
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
:param metadata: Metadata resource. Required.
- :type metadata: IO
+ :type metadata: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -378,7 +347,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata: Union[_models.MetadataModel, IO],
+ metadata: Union[_models.MetadataModel, IO[bytes]],
**kwargs: Any
) -> _models.MetadataModel:
"""Create a Metadata.
@@ -390,17 +359,14 @@ async def create(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :param metadata: Metadata resource. Is either a model type or a IO type. Required.
- :type metadata: ~azure.mgmt.securityinsight.models.MetadataModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param metadata: Metadata resource. Is either a MetadataModel type or a IO[bytes] type.
+ Required.
+ :type metadata: ~azure.mgmt.securityinsight.models.MetadataModel or IO[bytes]
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -411,21 +377,19 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(metadata, (IO, bytes)):
+ if isinstance(metadata, (IOBase, bytes)):
_content = metadata
else:
_json = self._serialize.body(metadata, "MetadataModel")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
@@ -434,15 +398,14 @@ async def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -451,21 +414,13 @@ async def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("MetadataModel", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
-
@overload
async def update(
self,
@@ -491,7 +446,6 @@ async def update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -503,7 +457,7 @@ async def update(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata_patch: IO,
+ metadata_patch: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -518,11 +472,10 @@ async def update(
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
:param metadata_patch: Partial metadata request. Required.
- :type metadata_patch: IO
+ :type metadata_patch: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -534,7 +487,7 @@ async def update(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata_patch: Union[_models.MetadataPatch, IO],
+ metadata_patch: Union[_models.MetadataPatch, IO[bytes]],
**kwargs: Any
) -> _models.MetadataModel:
"""Update an existing Metadata.
@@ -546,17 +499,14 @@ async def update(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :param metadata_patch: Partial metadata request. Is either a model type or a IO type. Required.
- :type metadata_patch: ~azure.mgmt.securityinsight.models.MetadataPatch or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param metadata_patch: Partial metadata request. Is either a MetadataPatch type or a IO[bytes]
+ type. Required.
+ :type metadata_patch: ~azure.mgmt.securityinsight.models.MetadataPatch or IO[bytes]
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -567,21 +517,19 @@ async def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(metadata_patch, (IO, bytes)):
+ if isinstance(metadata_patch, (IOBase, bytes)):
_content = metadata_patch
else:
_json = self._serialize.body(metadata_patch, "MetadataPatch")
- request = build_update_request(
+ _request = build_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
@@ -590,15 +538,14 @@ async def update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -607,13 +554,9 @@ async def update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_office_consents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_office_consents_operations.py
index fffada186187..038980abc0c1 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_office_consents_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_office_consents_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,21 +19,19 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._office_consents_operations import build_delete_request, build_get_request, build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -69,7 +66,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either OfficeConsent or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.OfficeConsent]
@@ -78,12 +74,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OfficeConsentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -94,17 +88,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -116,13 +108,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("OfficeConsentList", pipeline_response)
@@ -132,10 +123,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -147,10 +139,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, consent_id: str, **kwargs: Any
@@ -164,12 +152,11 @@ async def get(
:type workspace_name: str
:param consent_id: consent ID. Required.
:type consent_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: OfficeConsent or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.OfficeConsent
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -180,26 +167,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OfficeConsent] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
consent_id=consent_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -208,21 +192,15 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("OfficeConsent", pipeline_response)
+ deserialized = self._deserialize("OfficeConsent", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}"
- }
+ return deserialized # type: ignore
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, consent_id: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, consent_id: str, **kwargs: Any) -> None:
"""Delete the office365 consent.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -232,12 +210,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param consent_id: consent ID. Required.
:type consent_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -248,26 +225,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
consent_id=consent_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -277,8 +251,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_operations.py
index 376f9dc326f2..43634d255d33 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -61,7 +58,6 @@ def __init__(self, *args, **kwargs) -> None:
def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]:
"""Lists all operations available Azure Security Insights Resource Provider.
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Operation or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Operation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -69,12 +65,10 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -85,14 +79,12 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]:
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -104,13 +96,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("OperationsList", pipeline_response)
@@ -120,10 +111,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -134,5 +126,3 @@ async def get_next(next_link=None):
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
-
- list.metadata = {"url": "/providers/Microsoft.SecurityInsights/operations"}
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_ip_geodata_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_package_operations.py
similarity index 62%
rename from sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_ip_geodata_operations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_package_operations.py
index e1f7121e301e..c18bc219ed80 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_ip_geodata_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_package_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,32 +17,30 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
-from ...operations._ip_geodata_operations import build_get_request
+from ...operations._product_package_operations import build_get_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
-class IPGeodataOperations:
+class ProductPackageOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
- :attr:`ip_geodata` attribute.
+ :attr:`product_package` attribute.
"""
models = _models
@@ -56,20 +53,23 @@ def __init__(self, *args, **kwargs) -> None:
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace_async
- async def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) -> _models.EnrichmentIpGeodata:
- """Get geodata for a single IP address.
+ async def get(
+ self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any
+ ) -> _models.ProductPackageModel:
+ """Gets a package by its identifier from the catalog.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
- :param ip_address: IP address (v4 or v6) to be enriched. Required.
- :type ip_address: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: EnrichmentIpGeodata or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: ProductPackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ProductPackageModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -80,25 +80,23 @@ async def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.EnrichmentIpGeodata] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductPackageModel] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
subscription_id=self._config.subscription_id,
- ip_address=ip_address,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -107,13 +105,9 @@ async def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) ->
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EnrichmentIpGeodata", pipeline_response)
+ deserialized = self._deserialize("ProductPackageModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/ip/geodata/"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_packages_operations.py
new file mode 100644
index 000000000000..f2a7b3e28a7a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_packages_operations.py
@@ -0,0 +1,171 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._product_packages_operations import build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ProductPackagesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`product_packages` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ search: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ProductPackageModel"]:
+ """Gets all packages from the catalog.
+ Expandable properties:
+
+
+ * properties/installed
+ * properties/packagedContent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :return: An iterator like instance of either ProductPackageModel or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.ProductPackageModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductPackageList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ search=search,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ProductPackageList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_settings_operations.py
index 3324a16bab68..4a6fb0a9886b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_settings_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_settings_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,9 +5,12 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+from azure.core.async_paging import AsyncItemPaged, AsyncList
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
@@ -18,14 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._product_settings_operations import (
build_delete_request,
build_get_request,
@@ -33,10 +34,10 @@
build_update_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -60,8 +61,8 @@ def __init__(self, *args, **kwargs) -> None:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
- @distributed_trace_async
- async def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _models.SettingList:
+ @distributed_trace
+ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> AsyncIterable["_models.Settings"]:
"""List of all the settings.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -69,12 +70,17 @@ async def list(self, resource_group_name: str, workspace_name: str, **kwargs: An
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SettingList or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SettingList
+ :return: An iterator like instance of either Settings or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Settings]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SettingList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -82,46 +88,59 @@ async def list(self, resource_group_name: str, workspace_name: str, **kwargs: An
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.SettingList] = kwargs.pop("cls", None)
-
- request = build_list_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- template_url=self.list.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("SettingList", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings"
- }
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("SettingList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
@distributed_trace_async
async def get(
@@ -137,12 +156,11 @@ async def get(
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -153,26 +171,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Settings] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -181,21 +196,15 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Settings", pipeline_response)
+ deserialized = self._deserialize("Settings", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return deserialized # type: ignore
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, settings_name: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, settings_name: str, **kwargs: Any) -> None:
"""Delete setting of the product.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -206,12 +215,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -222,26 +230,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -251,11 +256,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
async def update(
@@ -283,7 +284,6 @@ async def update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
@@ -295,7 +295,7 @@ async def update(
resource_group_name: str,
workspace_name: str,
settings_name: str,
- settings: IO,
+ settings: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -311,11 +311,10 @@ async def update(
Required.
:type settings_name: str
:param settings: The setting. Required.
- :type settings: IO
+ :type settings: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
@@ -327,7 +326,7 @@ async def update(
resource_group_name: str,
workspace_name: str,
settings_name: str,
- settings: Union[_models.Settings, IO],
+ settings: Union[_models.Settings, IO[bytes]],
**kwargs: Any
) -> _models.Settings:
"""Updates setting.
@@ -340,17 +339,13 @@ async def update(
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :param settings: The setting. Is either a model type or a IO type. Required.
- :type settings: ~azure.mgmt.securityinsight.models.Settings or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param settings: The setting. Is either a Settings type or a IO[bytes] type. Required.
+ :type settings: ~azure.mgmt.securityinsight.models.Settings or IO[bytes]
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -361,21 +356,19 @@ async def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Settings] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(settings, (IO, bytes)):
+ if isinstance(settings, (IOBase, bytes)):
_content = settings
else:
_json = self._serialize.body(settings, "Settings")
- request = build_update_request(
+ _request = build_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
@@ -384,30 +377,25 @@ async def update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Settings", pipeline_response)
+ deserialized = self._deserialize("Settings", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_template_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_template_operations.py
new file mode 100644
index 000000000000..4e41ada78114
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_template_operations.py
@@ -0,0 +1,113 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._product_template_operations import build_get_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ProductTemplateOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`product_template` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any
+ ) -> _models.ProductTemplateModel:
+ """Gets a template by its identifier.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: ProductTemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ProductTemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductTemplateModel] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("ProductTemplateModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_templates_operations.py
new file mode 100644
index 000000000000..aa902f669f77
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_product_templates_operations.py
@@ -0,0 +1,177 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._product_templates_operations import build_list_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ProductTemplatesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`product_templates` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ProductTemplateModel"]:
+ """Gets all templates in the catalog.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either ProductTemplateModel or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.ProductTemplateModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductTemplateList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ProductTemplateList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_reevaluate_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_reevaluate_operations.py
new file mode 100644
index 000000000000..ef982879a74f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_reevaluate_operations.py
@@ -0,0 +1,113 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._reevaluate_operations import build_recommendation_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ReevaluateOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`reevaluate` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace_async
+ async def recommendation(
+ self, resource_group_name: str, workspace_name: str, recommendation_id: str, **kwargs: Any
+ ) -> _models.ReevaluateResponse:
+ """Reevaluate a recommendation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param recommendation_id: Recommendation Id. Required.
+ :type recommendation_id: str
+ :return: ReevaluateResponse or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ReevaluateResponse
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ReevaluateResponse] = kwargs.pop("cls", None)
+
+ _request = build_recommendation_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ recommendation_id=recommendation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("ReevaluateResponse", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_insights_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_insights_operations.py
new file mode 100644
index 000000000000..2d84dd2b3e58
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_insights_operations.py
@@ -0,0 +1,321 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._security_insights_operations import (
+ build_list_geodata_by_ip_request,
+ build_list_whois_by_domain_request,
+)
+from .._vendor import SecurityInsightsMixinABC
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class SecurityInsightsOperationsMixin(SecurityInsightsMixinABC):
+
+ @overload
+ async def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: _models.EnrichmentIpAddressBody,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Required.
+ :type ip_address_body: ~azure.mgmt.securityinsight.models.EnrichmentIpAddressBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Required.
+ :type ip_address_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: Union[_models.EnrichmentIpAddressBody, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Is either a
+ EnrichmentIpAddressBody type or a IO[bytes] type. Required.
+ :type ip_address_body: ~azure.mgmt.securityinsight.models.EnrichmentIpAddressBody or IO[bytes]
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnrichmentIpGeodata] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(ip_address_body, (IOBase, bytes)):
+ _content = ip_address_body
+ else:
+ _json = self._serialize.body(ip_address_body, "EnrichmentIpAddressBody")
+
+ _request = build_list_geodata_by_ip_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ enrichment_type=enrichment_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("EnrichmentIpGeodata", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: _models.EnrichmentDomainBody,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Required.
+ :type domain_body: ~azure.mgmt.securityinsight.models.EnrichmentDomainBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Required.
+ :type domain_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: Union[_models.EnrichmentDomainBody, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Is either a
+ EnrichmentDomainBody type or a IO[bytes] type. Required.
+ :type domain_body: ~azure.mgmt.securityinsight.models.EnrichmentDomainBody or IO[bytes]
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnrichmentDomainWhois] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(domain_body, (IOBase, bytes)):
+ _content = domain_body
+ else:
+ _json = self._serialize.body(domain_body, "EnrichmentDomainBody")
+
+ _request = build_list_whois_by_domain_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ enrichment_type=enrichment_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("EnrichmentDomainWhois", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_ml_analytics_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_ml_analytics_settings_operations.py
index eb537fb84c40..3ff924cd29f2 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_ml_analytics_settings_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_security_ml_analytics_settings_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._security_ml_analytics_settings_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -74,7 +72,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either SecurityMLAnalyticsSetting or the result of
cls(response)
:rtype:
@@ -84,12 +81,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SecurityMLAnalyticsSettingsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -100,17 +95,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -122,13 +115,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("SecurityMLAnalyticsSettingsList", pipeline_response)
@@ -138,10 +130,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -153,10 +146,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, settings_resource_name: str, **kwargs: Any
@@ -170,12 +159,11 @@ async def get(
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -186,26 +174,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SecurityMLAnalyticsSetting] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -214,16 +199,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
+ deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
+ return deserialized # type: ignore
@overload
async def create_or_update(
@@ -251,7 +232,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
@@ -263,7 +243,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
settings_resource_name: str,
- security_ml_analytics_setting: IO,
+ security_ml_analytics_setting: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -278,11 +258,10 @@ async def create_or_update(
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
:param security_ml_analytics_setting: The security ML Analytics setting. Required.
- :type security_ml_analytics_setting: IO
+ :type security_ml_analytics_setting: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
@@ -294,7 +273,7 @@ async def create_or_update(
resource_group_name: str,
workspace_name: str,
settings_resource_name: str,
- security_ml_analytics_setting: Union[_models.SecurityMLAnalyticsSetting, IO],
+ security_ml_analytics_setting: Union[_models.SecurityMLAnalyticsSetting, IO[bytes]],
**kwargs: Any
) -> _models.SecurityMLAnalyticsSetting:
"""Creates or updates the Security ML Analytics Settings.
@@ -306,19 +285,15 @@ async def create_or_update(
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :param security_ml_analytics_setting: The security ML Analytics setting. Is either a model type
- or a IO type. Required.
+ :param security_ml_analytics_setting: The security ML Analytics setting. Is either a
+ SecurityMLAnalyticsSetting type or a IO[bytes] type. Required.
:type security_ml_analytics_setting:
- ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting or IO[bytes]
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -329,21 +304,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.SecurityMLAnalyticsSetting] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(security_ml_analytics_setting, (IO, bytes)):
+ if isinstance(security_ml_analytics_setting, (IOBase, bytes)):
_content = security_ml_analytics_setting
else:
_json = self._serialize.body(security_ml_analytics_setting, "SecurityMLAnalyticsSetting")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
@@ -352,15 +325,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -369,23 +341,15 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
+ deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, settings_resource_name: str, **kwargs: Any
) -> None:
"""Delete the Security ML Analytics Settings.
@@ -397,12 +361,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -413,26 +376,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -442,8 +402,4 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_sentinel_onboarding_states_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_sentinel_onboarding_states_operations.py
index aac64f7fdd94..209929ec2c64 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_sentinel_onboarding_states_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_sentinel_onboarding_states_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,14 +18,12 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._sentinel_onboarding_states_operations import (
build_create_request,
build_delete_request,
@@ -33,10 +31,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -74,12 +72,11 @@ async def get(
:param sentinel_onboarding_state_name: The Sentinel onboarding state name. Supports - default.
Required.
:type sentinel_onboarding_state_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -90,26 +87,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SentinelOnboardingState] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -118,16 +112,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingState", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
+ return deserialized # type: ignore
@overload
async def create(
@@ -157,7 +147,6 @@ async def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -169,7 +158,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
sentinel_onboarding_state_name: str,
- sentinel_onboarding_state_parameter: Optional[IO] = None,
+ sentinel_onboarding_state_parameter: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -186,11 +175,10 @@ async def create(
:type sentinel_onboarding_state_name: str
:param sentinel_onboarding_state_parameter: The Sentinel onboarding state parameter. Default
value is None.
- :type sentinel_onboarding_state_parameter: IO
+ :type sentinel_onboarding_state_parameter: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -202,7 +190,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
sentinel_onboarding_state_name: str,
- sentinel_onboarding_state_parameter: Optional[Union[_models.SentinelOnboardingState, IO]] = None,
+ sentinel_onboarding_state_parameter: Optional[Union[_models.SentinelOnboardingState, IO[bytes]]] = None,
**kwargs: Any
) -> _models.SentinelOnboardingState:
"""Create Sentinel onboarding state.
@@ -216,18 +204,14 @@ async def create(
Required.
:type sentinel_onboarding_state_name: str
:param sentinel_onboarding_state_parameter: The Sentinel onboarding state parameter. Is either
- a model type or a IO type. Default value is None.
+ a SentinelOnboardingState type or a IO[bytes] type. Default value is None.
:type sentinel_onboarding_state_parameter:
- ~azure.mgmt.securityinsight.models.SentinelOnboardingState or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.SentinelOnboardingState or IO[bytes]
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -238,16 +222,14 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.SentinelOnboardingState] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(sentinel_onboarding_state_parameter, (IO, bytes)):
+ if isinstance(sentinel_onboarding_state_parameter, (IOBase, bytes)):
_content = sentinel_onboarding_state_parameter
else:
if sentinel_onboarding_state_parameter is not None:
@@ -255,7 +237,7 @@ async def create(
else:
_json = None
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
@@ -264,15 +246,14 @@ async def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -281,23 +262,15 @@ async def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingState", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, sentinel_onboarding_state_name: str, **kwargs: Any
) -> None:
"""Delete Sentinel onboarding state.
@@ -310,12 +283,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:param sentinel_onboarding_state_name: The Sentinel onboarding state name. Supports - default.
Required.
:type sentinel_onboarding_state_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -326,26 +298,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -355,11 +324,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace_async
async def list(
@@ -372,12 +337,11 @@ async def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingStatesList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingStatesList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -388,25 +352,22 @@ async def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SentinelOnboardingStatesList] = kwargs.pop("cls", None)
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -415,13 +376,9 @@ async def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SentinelOnboardingStatesList", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingStatesList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_control_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_control_operations.py
index 121de431e0c8..756b212987ca 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_control_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_control_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -20,20 +20,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._source_control_operations import build_list_repositories_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -57,9 +55,67 @@ def __init__(self, *args, **kwargs) -> None:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+ @overload
+ def list_repositories(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: _models.RepositoryAccessProperties,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Repo"]:
+ """Gets a list of repositories metadata.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either Repo or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Repo]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def list_repositories(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Repo"]:
+ """Gets a list of repositories metadata.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either Repo or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Repo]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
@distributed_trace
def list_repositories(
- self, resource_group_name: str, workspace_name: str, repo_type: Union[str, _models.RepoType], **kwargs: Any
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: Union[_models.RepositoryAccessProperties, IO[bytes]],
+ **kwargs: Any
) -> AsyncIterable["_models.Repo"]:
"""Gets a list of repositories metadata.
@@ -68,9 +124,10 @@ def list_repositories(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param repo_type: The repo type. Known values are: "Github" and "DevOps". Required.
- :type repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param repository_access: The repository access credentials. Is either a
+ RepositoryAccessProperties type or a IO[bytes] type. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties or
+ IO[bytes]
:return: An iterator like instance of either Repo or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Repo]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -78,37 +135,40 @@ def list_repositories(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: str = kwargs.pop("content_type", _headers.pop("Content-Type", "application/json"))
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RepoList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(repository_access, (IOBase, bytes)):
+ _content = repository_access
+ else:
+ _json = self._serialize.body(repository_access, "RepositoryAccessProperties")
def prepare_request(next_link=None):
if not next_link:
- _json = self._serialize.body(repo_type, "str")
- request = build_list_repositories_request(
+ _request = build_list_repositories_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
- template_url=self.list_repositories.metadata["url"],
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -120,13 +180,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("RepoList", pipeline_response)
@@ -136,10 +195,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -150,7 +210,3 @@ async def get_next(next_link=None):
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
-
- list_repositories.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_controls_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_controls_operations.py
index a2a445e2e5e2..feb8cbe3f113 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_controls_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_source_controls_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._source_controls_operations import (
build_create_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -74,7 +72,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either SourceControl or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.SourceControl]
@@ -83,12 +80,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SourceControlList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -99,17 +94,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -121,13 +114,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("SourceControlList", pipeline_response)
@@ -137,10 +129,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -152,10 +145,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, source_control_id: str, **kwargs: Any
@@ -169,12 +158,11 @@ async def get(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SourceControl or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SourceControl
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -185,26 +173,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -213,22 +198,83 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SourceControl", pipeline_response)
+ deserialized = self._deserialize("SourceControl", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
+ return deserialized # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
+ @overload
+ async def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: _models.SourceControl,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param source_control_id: Source control Id. Required.
+ :type source_control_id: str
+ :param source_control: The SourceControl. Required.
+ :type source_control: ~azure.mgmt.securityinsight.models.SourceControl
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param source_control_id: Source control Id. Required.
+ :type source_control_id: str
+ :param source_control: The SourceControl. Required.
+ :type source_control: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, source_control_id: str, **kwargs: Any
- ) -> None:
- """Delete a source control.
+ async def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: Union[_models.SourceControl, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -237,12 +283,14 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: None or the result of cls(response)
- :rtype: None
+ :param source_control: The SourceControl. Is either a SourceControl type or a IO[bytes] type.
+ Required.
+ :type source_control: ~azure.mgmt.securityinsight.models.SourceControl or IO[bytes]
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -250,56 +298,65 @@ async def delete( # pylint: disable=inconsistent-return-statements
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[None] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(source_control, (IOBase, bytes)):
+ _content = source_control
+ else:
+ _json = self._serialize.body(source_control, "SourceControl")
- request = build_delete_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
+ content_type=content_type,
+ json=_json,
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 204]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ deserialized = self._deserialize("SourceControl", pipeline_response.http_response)
+
if cls:
- return cls(pipeline_response, None, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
+ return deserialized # type: ignore
@overload
- async def create(
+ async def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: _models.SourceControl,
+ repository_access: _models.RepositoryAccessProperties,
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -308,29 +365,28 @@ async def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Required.
- :type source_control: ~azure.mgmt.securityinsight.models.SourceControl
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- async def create(
+ async def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: IO,
+ repository_access: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -339,27 +395,26 @@ async def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Required.
- :type source_control: IO
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
- async def create(
+ async def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: Union[_models.SourceControl, IO],
+ repository_access: Union[_models.RepositoryAccessProperties, IO[bytes]],
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -368,17 +423,15 @@ async def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Is either a model type or a IO type. Required.
- :type source_control: ~azure.mgmt.securityinsight.models.SourceControl or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :param repository_access: The repository access credentials. Is either a
+ RepositoryAccessProperties type or a IO[bytes] type. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties or
+ IO[bytes]
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -389,21 +442,19 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
+ cls: ClsType[_models.Warning] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(source_control, (IO, bytes)):
- _content = source_control
+ if isinstance(repository_access, (IOBase, bytes)):
+ _content = repository_access
else:
- _json = self._serialize.body(source_control, "SourceControl")
+ _json = self._serialize.body(repository_access, "RepositoryAccessProperties")
- request = build_create_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
@@ -412,34 +463,25 @@ async def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 201]:
+ if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SourceControl", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SourceControl", pipeline_response)
+ deserialized = self._deserialize("Warning", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
-
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_systems_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_systems_operations.py
new file mode 100644
index 000000000000..9ad9344d62d3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_systems_operations.py
@@ -0,0 +1,847 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._systems_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_actions_request,
+ build_list_request,
+ build_report_action_status_request,
+ build_undo_action_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class SystemsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`systems` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[_models.SystemResource] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Default value is None.
+ :type system_to_upsert: ~azure.mgmt.securityinsight.models.SystemResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Default value is None.
+ :type system_to_upsert: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[Union[_models.SystemResource, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Is either a SystemResource type or a IO[bytes]
+ type. Default value is None.
+ :type system_to_upsert: ~azure.mgmt.securityinsight.models.SystemResource or IO[bytes]
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.SystemResource] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(system_to_upsert, (IOBase, bytes)):
+ _content = system_to_upsert
+ else:
+ if system_to_upsert is not None:
+ _json = self._serialize.body(system_to_upsert, "SystemResource")
+ else:
+ _json = None
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("SystemResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Gets the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SystemResource] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("SystemResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> None:
+ """Deletes the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.SystemResource"]:
+ """ListAll the systems.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either SystemResource or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.SystemResource]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SystemsList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("SystemsList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def list_actions(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Action"]:
+ """List of actions for a business application system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: An iterator like instance of either Action or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Action]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ListActionsResponse] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_actions_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListActionsResponse", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @overload
+ async def undo_action(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[_models.UndoActionPayload] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.UndoActionPayload
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def undo_action(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Default value is None.
+ :type payload: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def undo_action(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[Union[_models.UndoActionPayload, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Is either a UndoActionPayload type or a
+ IO[bytes] type. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.UndoActionPayload or IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(payload, (IOBase, bytes)):
+ _content = payload
+ else:
+ if payload is not None:
+ _json = self._serialize.body(payload, "UndoActionPayload")
+ else:
+ _json = None
+
+ _request = build_undo_action_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ async def report_action_status(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[_models.ReportActionStatusPayload] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Default value is
+ None.
+ :type payload: ~azure.mgmt.securityinsight.models.ReportActionStatusPayload
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def report_action_status(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Default value is
+ None.
+ :type payload: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def report_action_status(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[Union[_models.ReportActionStatusPayload, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Is either a
+ ReportActionStatusPayload type or a IO[bytes] type. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.ReportActionStatusPayload or IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(payload, (IOBase, bytes)):
+ _content = payload
+ else:
+ if payload is not None:
+ _json = self._serialize.body(payload, "ReportActionStatusPayload")
+ else:
+ _json = None
+
+ _request = build_report_action_status_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_metrics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_metrics_operations.py
index 5847ff70bdcb..36509c61fa5e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_metrics_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_metrics_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,25 +17,23 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._threat_intelligence_indicator_metrics_operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
-class ThreatIntelligenceIndicatorMetricsOperations:
+class ThreatIntelligenceIndicatorMetricsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@@ -66,12 +63,11 @@ async def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceMetricsList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceMetricsList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -82,25 +78,22 @@ async def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceMetricsList] = kwargs.pop("cls", None)
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -109,13 +102,9 @@ async def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceMetricsList", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceMetricsList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_operations.py
index e33a32402aa2..eeea4d978179 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicator_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._threat_intelligence_indicator_operations import (
build_append_tags_request,
build_create_indicator_request,
@@ -39,10 +37,10 @@
build_replace_tags_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -90,7 +88,6 @@ async def create_indicator(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -101,7 +98,7 @@ async def create_indicator(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_properties: IO,
+ threat_intelligence_properties: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -115,11 +112,10 @@ async def create_indicator(
:type workspace_name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
and update. Required.
- :type threat_intelligence_properties: IO
+ :type threat_intelligence_properties: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -130,7 +126,7 @@ async def create_indicator(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Create a new threat intelligence indicator.
@@ -141,18 +137,14 @@ async def create_indicator(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
- and update. Is either a model type or a IO type. Required.
+ and update. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_properties:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -163,21 +155,19 @@ async def create_indicator(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_properties, (IO, bytes)):
+ if isinstance(threat_intelligence_properties, (IOBase, bytes)):
_content = threat_intelligence_properties
else:
_json = self._serialize.body(threat_intelligence_properties, "ThreatIntelligenceIndicatorModel")
- request = build_create_indicator_request(
+ _request = build_create_indicator_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -185,15 +175,14 @@ async def create_indicator(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_indicator.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -202,21 +191,13 @@ async def create_indicator(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_indicator.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
@@ -230,12 +211,11 @@ async def get(
:type workspace_name: str
:param name: Threat intelligence indicator name field. Required.
:type name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -246,26 +226,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -274,16 +251,12 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
+ return deserialized # type: ignore
@overload
async def create(
@@ -312,7 +285,6 @@ async def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -324,7 +296,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_properties: IO,
+ threat_intelligence_properties: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -340,11 +312,10 @@ async def create(
:type name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
and update. Required.
- :type threat_intelligence_properties: IO
+ :type threat_intelligence_properties: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -356,7 +327,7 @@ async def create(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Update a threat Intelligence indicator.
@@ -369,18 +340,14 @@ async def create(
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
- and update. Is either a model type or a IO type. Required.
+ and update. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_properties:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -391,21 +358,19 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_properties, (IO, bytes)):
+ if isinstance(threat_intelligence_properties, (IOBase, bytes)):
_content = threat_intelligence_properties
else:
_json = self._serialize.body(threat_intelligence_properties, "ThreatIntelligenceIndicatorModel")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -414,15 +379,14 @@ async def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -431,25 +395,15 @@ async def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
-
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
- ) -> None:
+ async def delete(self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any) -> None:
"""Delete a threat intelligence indicator.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -459,12 +413,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param name: Threat intelligence indicator name field. Required.
:type name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -475,26 +428,23 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -504,11 +454,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def query_indicators(
@@ -534,7 +480,6 @@ def query_indicators(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -547,7 +492,7 @@ def query_indicators(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_filtering_criteria: IO,
+ threat_intelligence_filtering_criteria: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -561,11 +506,10 @@ def query_indicators(
:type workspace_name: str
:param threat_intelligence_filtering_criteria: Filtering criteria for querying threat
intelligence indicators. Required.
- :type threat_intelligence_filtering_criteria: IO
+ :type threat_intelligence_filtering_criteria: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -578,7 +522,7 @@ def query_indicators(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_filtering_criteria: Union[_models.ThreatIntelligenceFilteringCriteria, IO],
+ threat_intelligence_filtering_criteria: Union[_models.ThreatIntelligenceFilteringCriteria, IO[bytes]],
**kwargs: Any
) -> AsyncIterable["_models.ThreatIntelligenceInformation"]:
"""Query threat intelligence indicators as per filtering criteria.
@@ -589,13 +533,10 @@ def query_indicators(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param threat_intelligence_filtering_criteria: Filtering criteria for querying threat
- intelligence indicators. Is either a model type or a IO type. Required.
+ intelligence indicators. Is either a ThreatIntelligenceFilteringCriteria type or a IO[bytes]
+ type. Required.
:type threat_intelligence_filtering_criteria:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceFilteringCriteria or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceFilteringCriteria or IO[bytes]
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -605,13 +546,11 @@ def query_indicators(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -621,7 +560,7 @@ def query_indicators(
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_filtering_criteria, (IO, bytes)):
+ if isinstance(threat_intelligence_filtering_criteria, (IOBase, bytes)):
_content = threat_intelligence_filtering_criteria
else:
_json = self._serialize.body(threat_intelligence_filtering_criteria, "ThreatIntelligenceFilteringCriteria")
@@ -629,7 +568,7 @@ def query_indicators(
def prepare_request(next_link=None):
if not next_link:
- request = build_query_indicators_request(
+ _request = build_query_indicators_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -637,12 +576,10 @@ def prepare_request(next_link=None):
content_type=content_type,
json=_json,
content=_content,
- template_url=self.query_indicators.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -654,13 +591,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("ThreatIntelligenceInformationList", pipeline_response)
@@ -670,10 +606,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -685,12 +622,8 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- query_indicators.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators"
- }
-
@overload
- async def append_tags( # pylint: disable=inconsistent-return-statements
+ async def append_tags(
self,
resource_group_name: str,
workspace_name: str,
@@ -716,19 +649,18 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- async def append_tags( # pylint: disable=inconsistent-return-statements
+ async def append_tags(
self,
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_append_tags: IO,
+ threat_intelligence_append_tags: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -744,23 +676,22 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
:type name: str
:param threat_intelligence_append_tags: The threat intelligence append tags request body.
Required.
- :type threat_intelligence_append_tags: IO
+ :type threat_intelligence_append_tags: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
- async def append_tags( # pylint: disable=inconsistent-return-statements
+ async def append_tags(
self,
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_append_tags: Union[_models.ThreatIntelligenceAppendTags, IO],
+ threat_intelligence_append_tags: Union[_models.ThreatIntelligenceAppendTags, IO[bytes]],
**kwargs: Any
) -> None:
"""Append tags to a threat intelligence indicator.
@@ -773,18 +704,14 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_append_tags: The threat intelligence append tags request body. Is
- either a model type or a IO type. Required.
+ either a ThreatIntelligenceAppendTags type or a IO[bytes] type. Required.
:type threat_intelligence_append_tags:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceAppendTags or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceAppendTags or IO[bytes]
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -795,21 +722,19 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[None] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_append_tags, (IO, bytes)):
+ if isinstance(threat_intelligence_append_tags, (IOBase, bytes)):
_content = threat_intelligence_append_tags
else:
_json = self._serialize.body(threat_intelligence_append_tags, "ThreatIntelligenceAppendTags")
- request = build_append_tags_request(
+ _request = build_append_tags_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -818,15 +743,14 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
content_type=content_type,
json=_json,
content=_content,
- template_url=self.append_tags.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -836,11 +760,7 @@ async def append_tags( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- append_tags.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
async def replace_tags(
@@ -869,7 +789,6 @@ async def replace_tags(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -881,7 +800,7 @@ async def replace_tags(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_replace_tags: IO,
+ threat_intelligence_replace_tags: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -897,11 +816,10 @@ async def replace_tags(
:type name: str
:param threat_intelligence_replace_tags: Tags in the threat intelligence indicator to be
replaced. Required.
- :type threat_intelligence_replace_tags: IO
+ :type threat_intelligence_replace_tags: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -913,7 +831,7 @@ async def replace_tags(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_replace_tags: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_replace_tags: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Replace tags added to a threat intelligence indicator.
@@ -926,18 +844,14 @@ async def replace_tags(
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_replace_tags: Tags in the threat intelligence indicator to be
- replaced. Is either a model type or a IO type. Required.
+ replaced. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_replace_tags:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -948,21 +862,19 @@ async def replace_tags(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_replace_tags, (IO, bytes)):
+ if isinstance(threat_intelligence_replace_tags, (IOBase, bytes)):
_content = threat_intelligence_replace_tags
else:
_json = self._serialize.body(threat_intelligence_replace_tags, "ThreatIntelligenceIndicatorModel")
- request = build_replace_tags_request(
+ _request = build_replace_tags_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -971,15 +883,14 @@ async def replace_tags(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.replace_tags.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -988,13 +899,9 @@ async def replace_tags(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- replace_tags.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicators_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicators_operations.py
index 43499935ceb1..04f0b9d6de0a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicators_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_indicators_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._threat_intelligence_indicators_operations import build_list_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -63,9 +60,9 @@ def list(
resource_group_name: str,
workspace_name: str,
filter: Optional[str] = None,
- orderby: Optional[str] = None,
top: Optional[int] = None,
skip_token: Optional[str] = None,
+ orderby: Optional[str] = None,
**kwargs: Any
) -> AsyncIterable["_models.ThreatIntelligenceInformation"]:
"""Get all threat intelligence indicators.
@@ -78,8 +75,6 @@ def list(
:param filter: Filters the results, based on a Boolean condition. Optional. Default value is
None.
:type filter: str
- :param orderby: Sorts the results. Optional. Default value is None.
- :type orderby: str
:param top: Returns only the first n results. Optional. Default value is None.
:type top: int
:param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
@@ -87,7 +82,8 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -97,12 +93,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceInformationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -113,21 +107,19 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
filter=filter,
- orderby=orderby,
top=top,
skip_token=skip_token,
+ orderby=orderby,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -139,13 +131,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("ThreatIntelligenceInformationList", pipeline_response)
@@ -155,10 +146,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -169,7 +161,3 @@ async def get_next(next_link=None):
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_operations.py
new file mode 100644
index 000000000000..0266a6109048
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_threat_intelligence_operations.py
@@ -0,0 +1,368 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._threat_intelligence_operations import build_count_request, build_query_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class ThreatIntelligenceOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`threat_intelligence` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ async def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[_models.CountQuery] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.CountQuery
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[Union[_models.CountQuery, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Is either a CountQuery type
+ or a IO[bytes] type. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.CountQuery or IO[bytes]
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ThreatIntelligenceCount] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(query, (IOBase, bytes)):
+ _content = query
+ else:
+ if query is not None:
+ _json = self._serialize.body(query, "CountQuery")
+ else:
+ _json = None
+
+ _request = build_count_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ ti_type=ti_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("ThreatIntelligenceCount", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[_models.Query] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncIterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.Query
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncIterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[Union[_models.Query, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Is either a Query type or a
+ IO[bytes] type. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.Query or IO[bytes]
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ThreatIntelligenceList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(query, (IOBase, bytes)):
+ _content = query
+ else:
+ if query is not None:
+ _json = self._serialize.body(query, "Query")
+ else:
+ _json = None
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_query_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ ti_type=ti_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ThreatIntelligenceList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_triggered_analytics_rule_run_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_triggered_analytics_rule_run_operations.py
new file mode 100644
index 000000000000..2ab814362c14
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_triggered_analytics_rule_run_operations.py
@@ -0,0 +1,113 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._triggered_analytics_rule_run_operations import build_get_request
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class TriggeredAnalyticsRuleRunOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`triggered_analytics_rule_run` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, rule_run_id: str, **kwargs: Any
+ ) -> _models.TriggeredAnalyticsRuleRun:
+ """Gets the triggered analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_run_id: the triggered rule id. Required.
+ :type rule_run_id: str
+ :return: TriggeredAnalyticsRuleRun or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TriggeredAnalyticsRuleRun] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_run_id=rule_run_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TriggeredAnalyticsRuleRun", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_update_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_update_operations.py
index 18154771938c..6afcb6a03e7a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_update_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_update_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, List, Optional, TypeVar, Union, cast, overload
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
from azure.core.exceptions import (
ClientAuthenticationError,
@@ -18,22 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
-from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._update_operations import build_recommendation_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -57,87 +53,17 @@ def __init__(self, *args, **kwargs) -> None:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
- async def _recommendation_initial(
- self,
- resource_group_name: str,
- workspace_name: str,
- recommendation_id: str,
- recommendation_patch: Union[List[_models.RecommendationPatch], IO],
- **kwargs: Any
- ) -> _models.Recommendation:
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(recommendation_patch, (IO, bytes)):
- _content = recommendation_patch
- else:
- _json = self._serialize.body(recommendation_patch, "[RecommendationPatch]")
-
- request = build_recommendation_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- recommendation_id=recommendation_id,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self._recommendation_initial.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [202]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("Recommendation", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- _recommendation_initial.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
-
@overload
- async def begin_recommendation(
+ async def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: List[_models.RecommendationPatch],
+ recommendation_patch: _models.RecommendationPatch,
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> AsyncLROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -148,35 +74,26 @@ async def begin_recommendation(
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
:param recommendation_patch: Recommendation Fields to Update. Required.
- :type recommendation_patch: list[~azure.mgmt.securityinsight.models.RecommendationPatch]
+ :type recommendation_patch: ~azure.mgmt.securityinsight.models.RecommendationPatch
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
- this operation to not poll, or pass in your own initialized polling object for a personal
- polling strategy.
- :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of AsyncLROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- async def begin_recommendation(
+ async def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: IO,
+ recommendation_patch: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> AsyncLROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -187,33 +104,24 @@ async def begin_recommendation(
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
:param recommendation_patch: Recommendation Fields to Update. Required.
- :type recommendation_patch: IO
+ :type recommendation_patch: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
- this operation to not poll, or pass in your own initialized polling object for a personal
- polling strategy.
- :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of AsyncLROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
- async def begin_recommendation(
+ async def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: Union[List[_models.RecommendationPatch], IO],
+ recommendation_patch: Union[_models.RecommendationPatch, IO[bytes]],
**kwargs: Any
- ) -> AsyncLROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -223,72 +131,64 @@ async def begin_recommendation(
:type workspace_name: str
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
- :param recommendation_patch: Recommendation Fields to Update. Is either a list type or a IO
- type. Required.
- :type recommendation_patch: list[~azure.mgmt.securityinsight.models.RecommendationPatch] or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
- this operation to not poll, or pass in your own initialized polling object for a personal
- polling strategy.
- :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of AsyncLROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :param recommendation_patch: Recommendation Fields to Update. Is either a RecommendationPatch
+ type or a IO[bytes] type. Required.
+ :type recommendation_patch: ~azure.mgmt.securityinsight.models.RecommendationPatch or IO[bytes]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
- polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
- lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
- cont_token: Optional[str] = kwargs.pop("continuation_token", None)
- if cont_token is None:
- raw_result = await self._recommendation_initial(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- recommendation_id=recommendation_id,
- recommendation_patch=recommendation_patch,
- api_version=api_version,
- content_type=content_type,
- cls=lambda x, y, z: x,
- headers=_headers,
- params=_params,
- **kwargs
- )
- kwargs.pop("error_map", None)
-
- def get_long_running_output(pipeline_response):
- deserialized = self._deserialize("Recommendation", pipeline_response)
- if cls:
- return cls(pipeline_response, deserialized, {})
- return deserialized
- if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
- elif polling is False:
- polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(recommendation_patch, (IOBase, bytes)):
+ _content = recommendation_patch
else:
- polling_method = polling
- if cont_token:
- return AsyncLROPoller.from_continuation_token(
- polling_method=polling_method,
- continuation_token=cont_token,
- client=self._client,
- deserialization_callback=get_long_running_output,
- )
- return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore
+ _json = self._serialize.body(recommendation_patch, "RecommendationPatch")
+
+ _request = build_recommendation_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ recommendation_id=recommendation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Recommendation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- begin_recommendation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlist_items_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlist_items_operations.py
index 913eefeee849..05fbb195313d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlist_items_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlist_items_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,15 +20,13 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._watchlist_items_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +34,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -86,7 +84,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either WatchlistItem or the result of cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.WatchlistItem]
@@ -95,12 +92,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistItemList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -111,19 +106,17 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -135,13 +128,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("WatchlistItemList", pipeline_response)
@@ -151,10 +143,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -166,10 +159,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, watchlist_item_id: str, **kwargs: Any
@@ -185,12 +174,11 @@ async def get(
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -201,27 +189,24 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistItem] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
watchlist_item_id=watchlist_item_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -230,19 +215,15 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
+ deserialized = self._deserialize("WatchlistItem", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
+ return deserialized # type: ignore
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def delete(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, watchlist_item_id: str, **kwargs: Any
) -> None:
"""Delete a watchlist item.
@@ -256,12 +237,11 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -272,27 +252,24 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
watchlist_item_id=watchlist_item_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -302,11 +279,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
async def create_or_update(
@@ -336,7 +309,6 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
@@ -349,7 +321,7 @@ async def create_or_update(
workspace_name: str,
watchlist_alias: str,
watchlist_item_id: str,
- watchlist_item: IO,
+ watchlist_item: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -366,11 +338,10 @@ async def create_or_update(
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
:param watchlist_item: The watchlist item. Required.
- :type watchlist_item: IO
+ :type watchlist_item: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
@@ -383,7 +354,7 @@ async def create_or_update(
workspace_name: str,
watchlist_alias: str,
watchlist_item_id: str,
- watchlist_item: Union[_models.WatchlistItem, IO],
+ watchlist_item: Union[_models.WatchlistItem, IO[bytes]],
**kwargs: Any
) -> _models.WatchlistItem:
"""Creates or updates a watchlist item.
@@ -397,17 +368,14 @@ async def create_or_update(
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :param watchlist_item: The watchlist item. Is either a model type or a IO type. Required.
- :type watchlist_item: ~azure.mgmt.securityinsight.models.WatchlistItem or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param watchlist_item: The watchlist item. Is either a WatchlistItem type or a IO[bytes] type.
+ Required.
+ :type watchlist_item: ~azure.mgmt.securityinsight.models.WatchlistItem or IO[bytes]
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -418,21 +386,19 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.WatchlistItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(watchlist_item, (IO, bytes)):
+ if isinstance(watchlist_item, (IOBase, bytes)):
_content = watchlist_item
else:
_json = self._serialize.body(watchlist_item, "WatchlistItem")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
@@ -442,15 +408,14 @@ async def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -459,17 +424,9 @@ async def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
+ deserialized = self._deserialize("WatchlistItem", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
-
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlists_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlists_operations.py
index 2028bb0b5458..c3ffdb098713 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlists_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_watchlists_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -17,18 +17,20 @@
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import AsyncHttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
-from ..._vendor import _convert_request
from ...operations._watchlists_operations import (
build_create_or_update_request,
build_delete_request,
@@ -36,10 +38,10 @@
build_list_request,
)
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@@ -79,7 +81,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Watchlist or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -87,12 +88,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -103,18 +102,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -126,13 +123,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("WatchlistList", pipeline_response)
@@ -142,10 +138,11 @@ async def extract_data(pipeline_response):
return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -157,10 +154,6 @@ async def get_next(next_link=None):
return AsyncItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists"
- }
-
@distributed_trace_async
async def get(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
@@ -174,12 +167,11 @@ async def get(
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Watchlist or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Watchlist
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -190,26 +182,23 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Watchlist] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -218,21 +207,76 @@ async def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Watchlist", pipeline_response)
+ deserialized = self._deserialize("Watchlist", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ async def _delete_initial(
+ self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
+ ) -> AsyncIterator[bytes]:
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
- return deserialized
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202, 204]:
+ try:
+ await response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers["Azure-AsyncOperation"] = self._deserialize(
+ "str", response.headers.get("Azure-AsyncOperation")
+ )
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
@distributed_trace_async
- async def delete( # pylint: disable=inconsistent-return-statements
+ async def begin_delete(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
- ) -> None:
+ ) -> AsyncLROPoller[None]:
"""Delete a watchlist.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -242,12 +286,60 @@ async def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: None or the result of cls(response)
- :rtype: None
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ await raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return AsyncLROPoller[None].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ watchlist_alias: str,
+ watchlist: Union[_models.Watchlist, IO[bytes]],
+ **kwargs: Any
+ ) -> AsyncIterator[bytes]:
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -255,52 +347,67 @@ async def delete( # pylint: disable=inconsistent-return-statements
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[None] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
- request = build_delete_request(
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(watchlist, (IOBase, bytes)):
+ _content = watchlist
+ else:
+ _json = self._serialize.body(watchlist, "Watchlist")
+
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
+ content_type=content_type,
+ json=_json,
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 204]:
+ if response.status_code not in [200, 201]:
+ try:
+ await response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
response_headers = {}
- if response.status_code == 200:
+ if response.status_code == 201:
response_headers["Azure-AsyncOperation"] = self._deserialize(
"str", response.headers.get("Azure-AsyncOperation")
)
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
if cls:
- return cls(pipeline_response, None, response_headers)
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ return deserialized # type: ignore
@overload
- async def create_or_update(
+ async def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
@@ -309,7 +416,7 @@ async def create_or_update(
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> AsyncLROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -329,23 +436,23 @@ async def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :return: An instance of AsyncLROPoller that returns either Watchlist or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- async def create_or_update(
+ async def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
watchlist_alias: str,
- watchlist: IO,
+ watchlist: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> AsyncLROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -361,25 +468,25 @@ async def create_or_update(
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
:param watchlist: The watchlist. Required.
- :type watchlist: IO
+ :type watchlist: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :return: An instance of AsyncLROPoller that returns either Watchlist or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
- async def create_or_update(
+ async def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
watchlist_alias: str,
- watchlist: Union[_models.Watchlist, IO],
+ watchlist: Union[_models.Watchlist, IO[bytes]],
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> AsyncLROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -394,83 +501,57 @@ async def create_or_update(
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :param watchlist: The watchlist. Is either a model type or a IO type. Required.
- :type watchlist: ~azure.mgmt.securityinsight.models.Watchlist or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :param watchlist: The watchlist. Is either a Watchlist type or a IO[bytes] type. Required.
+ :type watchlist: ~azure.mgmt.securityinsight.models.Watchlist or IO[bytes]
+ :return: An instance of AsyncLROPoller that returns either Watchlist or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Watchlist] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(watchlist, (IO, bytes)):
- _content = watchlist
- else:
- _json = self._serialize.body(watchlist, "Watchlist")
-
- request = build_create_or_update_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- watchlist_alias=watchlist_alias,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self.create_or_update.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200, 201]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- response_headers = {}
- if response.status_code == 200:
- deserialized = self._deserialize("Watchlist", pipeline_response)
-
- if response.status_code == 201:
- response_headers["Azure-AsyncOperation"] = self._deserialize(
- "str", response.headers.get("Azure-AsyncOperation")
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ watchlist=watchlist,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
)
+ await raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
- deserialized = self._deserialize("Watchlist", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, response_headers) # type: ignore
-
- return deserialized # type: ignore
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Watchlist", pipeline_response.http_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+ return deserialized
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return AsyncLROPoller[_models.Watchlist].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return AsyncLROPoller[_models.Watchlist](
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
+ )
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignment_jobs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignment_jobs_operations.py
new file mode 100644
index 000000000000..993efc5b69ab
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignment_jobs_operations.py
@@ -0,0 +1,366 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._workspace_manager_assignment_jobs_operations import (
+ build_create_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class WorkspaceManagerAssignmentJobsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`workspace_manager_assignment_jobs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Job"]:
+ """Get all jobs for the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either Job or the result of cls(response)
+ :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.Job]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.JobList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("JobList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def create(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> _models.Job:
+ """Create a job for the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: Job or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Job
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Job] = kwargs.pop("cls", None)
+
+ _request = build_create_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Job", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ **kwargs: Any
+ ) -> _models.Job:
+ """Gets a job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param job_name: The job name. Required.
+ :type job_name: str
+ :return: Job or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Job
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Job] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ job_name=job_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Job", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ **kwargs: Any
+ ) -> None:
+ """Deletes the specified job from the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param job_name: The job name. Required.
+ :type job_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ job_name=job_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignments_operations.py
new file mode 100644
index 000000000000..e448f071e0b8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_assignments_operations.py
@@ -0,0 +1,432 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._workspace_manager_assignments_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class WorkspaceManagerAssignmentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`workspace_manager_assignments` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceManagerAssignment"]:
+ """Get all workspace manager assignments for the Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerAssignment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerAssignmentList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerAssignmentList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Gets a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerAssignment] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerAssignment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: _models.WorkspaceManagerAssignment,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Required.
+ :type workspace_manager_assignment:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Required.
+ :type workspace_manager_assignment: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: Union[_models.WorkspaceManagerAssignment, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Is either a
+ WorkspaceManagerAssignment type or a IO[bytes] type. Required.
+ :type workspace_manager_assignment:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment or IO[bytes]
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerAssignment] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_assignment, (IOBase, bytes)):
+ _content = workspace_manager_assignment
+ else:
+ _json = self._serialize.body(workspace_manager_assignment, "WorkspaceManagerAssignment")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerAssignment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_configurations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_configurations_operations.py
new file mode 100644
index 000000000000..2cbfe565fecf
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_configurations_operations.py
@@ -0,0 +1,432 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._workspace_manager_configurations_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class WorkspaceManagerConfigurationsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`workspace_manager_configurations` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceManagerConfiguration"]:
+ """Gets all workspace manager configurations for a Sentinel workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerConfiguration or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerConfigurationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerConfigurationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_configuration_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Gets a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerConfiguration] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerConfiguration", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_configuration_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: _models.WorkspaceManagerConfiguration,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Required.
+ :type workspace_manager_configuration:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Required.
+ :type workspace_manager_configuration: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: Union[_models.WorkspaceManagerConfiguration, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Is either a
+ WorkspaceManagerConfiguration type or a IO[bytes] type. Required.
+ :type workspace_manager_configuration:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration or IO[bytes]
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerConfiguration] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_configuration, (IOBase, bytes)):
+ _content = workspace_manager_configuration
+ else:
+ _json = self._serialize.body(workspace_manager_configuration, "WorkspaceManagerConfiguration")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerConfiguration", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_groups_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_groups_operations.py
new file mode 100644
index 000000000000..96f178c0d14a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_groups_operations.py
@@ -0,0 +1,426 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._workspace_manager_groups_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class WorkspaceManagerGroupsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`workspace_manager_groups` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceManagerGroup"]:
+ """Gets all workspace manager groups in the Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerGroup or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerGroup]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerGroupList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerGroupList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_group_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Gets a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerGroup] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerGroup", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: _models.WorkspaceManagerGroup,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Required.
+ :type workspace_manager_group: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Required.
+ :type workspace_manager_group: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: Union[_models.WorkspaceManagerGroup, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Is either a
+ WorkspaceManagerGroup type or a IO[bytes] type. Required.
+ :type workspace_manager_group: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup or
+ IO[bytes]
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerGroup] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_group, (IOBase, bytes)):
+ _content = workspace_manager_group
+ else:
+ _json = self._serialize.body(workspace_manager_group, "WorkspaceManagerGroup")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerGroup", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_group_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_members_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_members_operations.py
new file mode 100644
index 000000000000..bd267439071b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/aio/operations/_workspace_manager_members_operations.py
@@ -0,0 +1,426 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ...operations._workspace_manager_members_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class WorkspaceManagerMembersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.aio.SecurityInsights`'s
+ :attr:`workspace_manager_members` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceManagerMember"]:
+ """Gets all workspace manager members that exist for the given Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerMember or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerMember]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerMembersList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerMembersList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_member_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Gets a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerMember] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerMember", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: _models.WorkspaceManagerMember,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Required.
+ :type workspace_manager_member: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Required.
+ :type workspace_manager_member: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: Union[_models.WorkspaceManagerMember, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Is either a
+ WorkspaceManagerMember type or a IO[bytes] type. Required.
+ :type workspace_manager_member: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember or
+ IO[bytes]
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerMember] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_member, (IOBase, bytes)):
+ _content = workspace_manager_member
+ else:
+ _json = self._serialize.body(workspace_manager_member, "WorkspaceManagerMember")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerMember", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace_async
+ async def delete(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_member_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/__init__.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/__init__.py
index 805bb3d2b327..78a3bfb81999 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/__init__.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/__init__.py
@@ -1,3 +1,4 @@
+# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5,504 +6,686 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+# pylint: disable=wrong-import-position
-from ._models_py3 import AADCheckRequirements
-from ._models_py3 import AADCheckRequirementsProperties
-from ._models_py3 import AADDataConnector
-from ._models_py3 import AADDataConnectorProperties
-from ._models_py3 import AATPCheckRequirements
-from ._models_py3 import AATPCheckRequirementsProperties
-from ._models_py3 import AATPDataConnector
-from ._models_py3 import AATPDataConnectorProperties
-from ._models_py3 import ASCCheckRequirements
-from ._models_py3 import ASCDataConnector
-from ._models_py3 import ASCDataConnectorProperties
-from ._models_py3 import AccountEntity
-from ._models_py3 import AccountEntityProperties
-from ._models_py3 import ActionPropertiesBase
-from ._models_py3 import ActionRequest
-from ._models_py3 import ActionRequestProperties
-from ._models_py3 import ActionResponse
-from ._models_py3 import ActionResponseProperties
-from ._models_py3 import ActionsList
-from ._models_py3 import ActivityCustomEntityQuery
-from ._models_py3 import ActivityEntityQueriesPropertiesQueryDefinitions
-from ._models_py3 import ActivityEntityQuery
-from ._models_py3 import ActivityEntityQueryTemplate
-from ._models_py3 import ActivityEntityQueryTemplatePropertiesQueryDefinitions
-from ._models_py3 import ActivityTimelineItem
-from ._models_py3 import AddIncidentTaskActionProperties
-from ._models_py3 import AlertDetailsOverride
-from ._models_py3 import AlertPropertyMapping
-from ._models_py3 import AlertRule
-from ._models_py3 import AlertRuleTemplate
-from ._models_py3 import AlertRuleTemplateDataSource
-from ._models_py3 import AlertRuleTemplatePropertiesBase
-from ._models_py3 import AlertRuleTemplateWithMitreProperties
-from ._models_py3 import AlertRuleTemplatesList
-from ._models_py3 import AlertRulesList
-from ._models_py3 import AlertsDataTypeOfDataConnector
-from ._models_py3 import Anomalies
-from ._models_py3 import AnomalySecurityMLAnalyticsSettings
-from ._models_py3 import AnomalyTimelineItem
-from ._models_py3 import AutomationRule
-from ._models_py3 import AutomationRuleAction
-from ._models_py3 import AutomationRuleAddIncidentTaskAction
-from ._models_py3 import AutomationRuleBooleanCondition
-from ._models_py3 import AutomationRuleCondition
-from ._models_py3 import AutomationRuleModifyPropertiesAction
-from ._models_py3 import AutomationRulePropertyArrayChangedValuesCondition
-from ._models_py3 import AutomationRulePropertyArrayValuesCondition
-from ._models_py3 import AutomationRulePropertyValuesChangedCondition
-from ._models_py3 import AutomationRulePropertyValuesCondition
-from ._models_py3 import AutomationRuleRunPlaybookAction
-from ._models_py3 import AutomationRuleTriggeringLogic
-from ._models_py3 import AutomationRulesList
-from ._models_py3 import Availability
-from ._models_py3 import AwsCloudTrailCheckRequirements
-from ._models_py3 import AwsCloudTrailDataConnector
-from ._models_py3 import AwsCloudTrailDataConnectorDataTypes
-from ._models_py3 import AwsCloudTrailDataConnectorDataTypesLogs
-from ._models_py3 import AwsS3CheckRequirements
-from ._models_py3 import AwsS3DataConnector
-from ._models_py3 import AwsS3DataConnectorDataTypes
-from ._models_py3 import AwsS3DataConnectorDataTypesLogs
-from ._models_py3 import AzureDevOpsResourceInfo
-from ._models_py3 import AzureResourceEntity
-from ._models_py3 import AzureResourceEntityProperties
-from ._models_py3 import Bookmark
-from ._models_py3 import BookmarkEntityMappings
-from ._models_py3 import BookmarkExpandParameters
-from ._models_py3 import BookmarkExpandResponse
-from ._models_py3 import BookmarkExpandResponseValue
-from ._models_py3 import BookmarkList
-from ._models_py3 import BookmarkTimelineItem
-from ._models_py3 import BooleanConditionProperties
-from ._models_py3 import ClientInfo
-from ._models_py3 import CloudApplicationEntity
-from ._models_py3 import CloudApplicationEntityProperties
-from ._models_py3 import CloudErrorBody
-from ._models_py3 import CodelessApiPollingDataConnector
-from ._models_py3 import CodelessConnectorPollingAuthProperties
-from ._models_py3 import CodelessConnectorPollingConfigProperties
-from ._models_py3 import CodelessConnectorPollingPagingProperties
-from ._models_py3 import CodelessConnectorPollingRequestProperties
-from ._models_py3 import CodelessConnectorPollingResponseProperties
-from ._models_py3 import CodelessUiConnectorConfigProperties
-from ._models_py3 import CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem
-from ._models_py3 import CodelessUiConnectorConfigPropertiesDataTypesItem
-from ._models_py3 import CodelessUiConnectorConfigPropertiesGraphQueriesItem
-from ._models_py3 import CodelessUiConnectorConfigPropertiesInstructionStepsItem
-from ._models_py3 import CodelessUiConnectorConfigPropertiesSampleQueriesItem
-from ._models_py3 import CodelessUiDataConnector
-from ._models_py3 import ConnectedEntity
-from ._models_py3 import ConnectivityCriteria
-from ._models_py3 import ConnectorInstructionModelBase
-from ._models_py3 import Content
-from ._models_py3 import ContentPathMap
-from ._models_py3 import CustomEntityQuery
-from ._models_py3 import Customs
-from ._models_py3 import CustomsPermission
-from ._models_py3 import DataConnector
-from ._models_py3 import DataConnectorConnectBody
-from ._models_py3 import DataConnectorDataTypeCommon
-from ._models_py3 import DataConnectorList
-from ._models_py3 import DataConnectorRequirementsState
-from ._models_py3 import DataConnectorTenantId
-from ._models_py3 import DataConnectorWithAlertsProperties
-from ._models_py3 import DataConnectorsCheckRequirements
-from ._models_py3 import DataTypeDefinitions
-from ._models_py3 import Deployment
-from ._models_py3 import DeploymentInfo
-from ._models_py3 import DnsEntity
-from ._models_py3 import DnsEntityProperties
-from ._models_py3 import Dynamics365CheckRequirements
-from ._models_py3 import Dynamics365CheckRequirementsProperties
-from ._models_py3 import Dynamics365DataConnector
-from ._models_py3 import Dynamics365DataConnectorDataTypes
-from ._models_py3 import Dynamics365DataConnectorDataTypesDynamics365CdsActivities
-from ._models_py3 import Dynamics365DataConnectorProperties
-from ._models_py3 import EnrichmentDomainWhois
-from ._models_py3 import EnrichmentDomainWhoisContact
-from ._models_py3 import EnrichmentDomainWhoisContacts
-from ._models_py3 import EnrichmentDomainWhoisDetails
-from ._models_py3 import EnrichmentDomainWhoisRegistrarDetails
-from ._models_py3 import EnrichmentIpGeodata
-from ._models_py3 import Entity
-from ._models_py3 import EntityAnalytics
-from ._models_py3 import EntityCommonProperties
-from ._models_py3 import EntityEdges
-from ._models_py3 import EntityExpandParameters
-from ._models_py3 import EntityExpandResponse
-from ._models_py3 import EntityExpandResponseValue
-from ._models_py3 import EntityFieldMapping
-from ._models_py3 import EntityGetInsightsParameters
-from ._models_py3 import EntityGetInsightsResponse
-from ._models_py3 import EntityInsightItem
-from ._models_py3 import EntityInsightItemQueryTimeInterval
-from ._models_py3 import EntityList
-from ._models_py3 import EntityMapping
-from ._models_py3 import EntityQuery
-from ._models_py3 import EntityQueryItem
-from ._models_py3 import EntityQueryItemProperties
-from ._models_py3 import EntityQueryItemPropertiesDataTypesItem
-from ._models_py3 import EntityQueryList
-from ._models_py3 import EntityQueryTemplate
-from ._models_py3 import EntityQueryTemplateList
-from ._models_py3 import EntityTimelineItem
-from ._models_py3 import EntityTimelineParameters
-from ._models_py3 import EntityTimelineResponse
-from ._models_py3 import EventGroupingSettings
-from ._models_py3 import ExpansionEntityQuery
-from ._models_py3 import ExpansionResultAggregation
-from ._models_py3 import ExpansionResultsMetadata
-from ._models_py3 import EyesOn
-from ._models_py3 import FieldMapping
-from ._models_py3 import FileEntity
-from ._models_py3 import FileEntityProperties
-from ._models_py3 import FileHashEntity
-from ._models_py3 import FileHashEntityProperties
-from ._models_py3 import FileImport
-from ._models_py3 import FileImportList
-from ._models_py3 import FileMetadata
-from ._models_py3 import FusionAlertRule
-from ._models_py3 import FusionAlertRuleTemplate
-from ._models_py3 import FusionScenarioExclusionPattern
-from ._models_py3 import FusionSourceSettings
-from ._models_py3 import FusionSourceSubTypeSetting
-from ._models_py3 import FusionSubTypeSeverityFilter
-from ._models_py3 import FusionSubTypeSeverityFiltersItem
-from ._models_py3 import FusionTemplateSourceSetting
-from ._models_py3 import FusionTemplateSourceSubType
-from ._models_py3 import FusionTemplateSubTypeSeverityFilter
-from ._models_py3 import GeoLocation
-from ._models_py3 import GetInsightsErrorKind
-from ._models_py3 import GetInsightsResultsMetadata
-from ._models_py3 import GetQueriesResponse
-from ._models_py3 import GitHubResourceInfo
-from ._models_py3 import GraphQueries
-from ._models_py3 import GroupingConfiguration
-from ._models_py3 import HostEntity
-from ._models_py3 import HostEntityProperties
-from ._models_py3 import HuntingBookmark
-from ._models_py3 import HuntingBookmarkProperties
-from ._models_py3 import Incident
-from ._models_py3 import IncidentAdditionalData
-from ._models_py3 import IncidentAlertList
-from ._models_py3 import IncidentBookmarkList
-from ._models_py3 import IncidentComment
-from ._models_py3 import IncidentCommentList
-from ._models_py3 import IncidentConfiguration
-from ._models_py3 import IncidentEntitiesResponse
-from ._models_py3 import IncidentEntitiesResultsMetadata
-from ._models_py3 import IncidentInfo
-from ._models_py3 import IncidentLabel
-from ._models_py3 import IncidentList
-from ._models_py3 import IncidentOwnerInfo
-from ._models_py3 import IncidentPropertiesAction
-from ._models_py3 import IncidentTask
-from ._models_py3 import IncidentTaskList
-from ._models_py3 import InsightQueryItem
-from ._models_py3 import InsightQueryItemProperties
-from ._models_py3 import InsightQueryItemPropertiesAdditionalQuery
-from ._models_py3 import InsightQueryItemPropertiesDefaultTimeRange
-from ._models_py3 import InsightQueryItemPropertiesReferenceTimeRange
-from ._models_py3 import InsightQueryItemPropertiesTableQuery
-from ._models_py3 import InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem
-from ._models_py3 import InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem
-from ._models_py3 import InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem
-from ._models_py3 import InsightsTableResult
-from ._models_py3 import InsightsTableResultColumnsItem
-from ._models_py3 import InstructionSteps
-from ._models_py3 import InstructionStepsInstructionsItem
-from ._models_py3 import Instructions
-from ._models_py3 import IoTCheckRequirements
-from ._models_py3 import IoTDataConnector
-from ._models_py3 import IoTDataConnectorProperties
-from ._models_py3 import IoTDeviceEntity
-from ._models_py3 import IoTDeviceEntityProperties
-from ._models_py3 import IpEntity
-from ._models_py3 import IpEntityProperties
-from ._models_py3 import LastDataReceivedDataType
-from ._models_py3 import MCASCheckRequirements
-from ._models_py3 import MCASCheckRequirementsProperties
-from ._models_py3 import MCASDataConnector
-from ._models_py3 import MCASDataConnectorDataTypes
-from ._models_py3 import MCASDataConnectorProperties
-from ._models_py3 import MDATPCheckRequirements
-from ._models_py3 import MDATPCheckRequirementsProperties
-from ._models_py3 import MDATPDataConnector
-from ._models_py3 import MDATPDataConnectorProperties
-from ._models_py3 import MLBehaviorAnalyticsAlertRule
-from ._models_py3 import MLBehaviorAnalyticsAlertRuleTemplate
-from ._models_py3 import MLBehaviorAnalyticsAlertRuleTemplateProperties
-from ._models_py3 import MSTICheckRequirements
-from ._models_py3 import MSTICheckRequirementsProperties
-from ._models_py3 import MSTIDataConnector
-from ._models_py3 import MSTIDataConnectorDataTypes
-from ._models_py3 import MSTIDataConnectorDataTypesBingSafetyPhishingURL
-from ._models_py3 import MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed
-from ._models_py3 import MSTIDataConnectorProperties
-from ._models_py3 import MTPCheckRequirementsProperties
-from ._models_py3 import MTPDataConnector
-from ._models_py3 import MTPDataConnectorDataTypes
-from ._models_py3 import MTPDataConnectorDataTypesIncidents
-from ._models_py3 import MTPDataConnectorProperties
-from ._models_py3 import MailClusterEntity
-from ._models_py3 import MailClusterEntityProperties
-from ._models_py3 import MailMessageEntity
-from ._models_py3 import MailMessageEntityProperties
-from ._models_py3 import MailboxEntity
-from ._models_py3 import MailboxEntityProperties
-from ._models_py3 import MalwareEntity
-from ._models_py3 import MalwareEntityProperties
-from ._models_py3 import ManualTriggerRequestBody
-from ._models_py3 import MetadataAuthor
-from ._models_py3 import MetadataCategories
-from ._models_py3 import MetadataDependencies
-from ._models_py3 import MetadataList
-from ._models_py3 import MetadataModel
-from ._models_py3 import MetadataPatch
-from ._models_py3 import MetadataSource
-from ._models_py3 import MetadataSupport
-from ._models_py3 import MicrosoftSecurityIncidentCreationAlertRule
-from ._models_py3 import MicrosoftSecurityIncidentCreationAlertRuleCommonProperties
-from ._models_py3 import MicrosoftSecurityIncidentCreationAlertRuleProperties
-from ._models_py3 import MicrosoftSecurityIncidentCreationAlertRuleTemplate
-from ._models_py3 import MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties
-from ._models_py3 import MtpCheckRequirements
-from ._models_py3 import NicEntity
-from ._models_py3 import NicEntityProperties
-from ._models_py3 import NrtAlertRule
-from ._models_py3 import NrtAlertRuleTemplate
-from ._models_py3 import NrtAlertRuleTemplateProperties
-from ._models_py3 import Office365ProjectCheckRequirements
-from ._models_py3 import Office365ProjectCheckRequirementsProperties
-from ._models_py3 import Office365ProjectConnectorDataTypes
-from ._models_py3 import Office365ProjectConnectorDataTypesLogs
-from ._models_py3 import Office365ProjectDataConnector
-from ._models_py3 import Office365ProjectDataConnectorProperties
-from ._models_py3 import OfficeATPCheckRequirements
-from ._models_py3 import OfficeATPCheckRequirementsProperties
-from ._models_py3 import OfficeATPDataConnector
-from ._models_py3 import OfficeATPDataConnectorProperties
-from ._models_py3 import OfficeConsent
-from ._models_py3 import OfficeConsentList
-from ._models_py3 import OfficeDataConnector
-from ._models_py3 import OfficeDataConnectorDataTypes
-from ._models_py3 import OfficeDataConnectorDataTypesExchange
-from ._models_py3 import OfficeDataConnectorDataTypesSharePoint
-from ._models_py3 import OfficeDataConnectorDataTypesTeams
-from ._models_py3 import OfficeDataConnectorProperties
-from ._models_py3 import OfficeIRMCheckRequirements
-from ._models_py3 import OfficeIRMCheckRequirementsProperties
-from ._models_py3 import OfficeIRMDataConnector
-from ._models_py3 import OfficeIRMDataConnectorProperties
-from ._models_py3 import OfficePowerBICheckRequirements
-from ._models_py3 import OfficePowerBICheckRequirementsProperties
-from ._models_py3 import OfficePowerBIConnectorDataTypes
-from ._models_py3 import OfficePowerBIConnectorDataTypesLogs
-from ._models_py3 import OfficePowerBIDataConnector
-from ._models_py3 import OfficePowerBIDataConnectorProperties
-from ._models_py3 import Operation
-from ._models_py3 import OperationDisplay
-from ._models_py3 import OperationsList
-from ._models_py3 import Permissions
-from ._models_py3 import PermissionsCustomsItem
-from ._models_py3 import PermissionsResourceProviderItem
-from ._models_py3 import PlaybookActionProperties
-from ._models_py3 import ProcessEntity
-from ._models_py3 import ProcessEntityProperties
-from ._models_py3 import PropertyArrayChangedConditionProperties
-from ._models_py3 import PropertyArrayConditionProperties
-from ._models_py3 import PropertyChangedConditionProperties
-from ._models_py3 import PropertyConditionProperties
-from ._models_py3 import QueryBasedAlertRuleTemplateProperties
-from ._models_py3 import Recommendation
-from ._models_py3 import RecommendationList
-from ._models_py3 import RecommendationPatch
-from ._models_py3 import RecommendedAction
-from ._models_py3 import RegistryKeyEntity
-from ._models_py3 import RegistryKeyEntityProperties
-from ._models_py3 import RegistryValueEntity
-from ._models_py3 import RegistryValueEntityProperties
-from ._models_py3 import Relation
-from ._models_py3 import RelationList
-from ._models_py3 import Repo
-from ._models_py3 import RepoList
-from ._models_py3 import Repository
-from ._models_py3 import RepositoryResourceInfo
-from ._models_py3 import RequiredPermissions
-from ._models_py3 import Resource
-from ._models_py3 import ResourceProvider
-from ._models_py3 import ResourceWithEtag
-from ._models_py3 import SampleQueries
-from ._models_py3 import ScheduledAlertRule
-from ._models_py3 import ScheduledAlertRuleCommonProperties
-from ._models_py3 import ScheduledAlertRuleProperties
-from ._models_py3 import ScheduledAlertRuleTemplate
-from ._models_py3 import SecurityAlert
-from ._models_py3 import SecurityAlertProperties
-from ._models_py3 import SecurityAlertPropertiesConfidenceReasonsItem
-from ._models_py3 import SecurityAlertTimelineItem
-from ._models_py3 import SecurityGroupEntity
-from ._models_py3 import SecurityGroupEntityProperties
-from ._models_py3 import SecurityMLAnalyticsSetting
-from ._models_py3 import SecurityMLAnalyticsSettingsDataSource
-from ._models_py3 import SecurityMLAnalyticsSettingsList
-from ._models_py3 import SentinelEntityMapping
-from ._models_py3 import SentinelOnboardingState
-from ._models_py3 import SentinelOnboardingStatesList
-from ._models_py3 import SettingList
-from ._models_py3 import Settings
-from ._models_py3 import SourceControl
-from ._models_py3 import SourceControlList
-from ._models_py3 import SubmissionMailEntity
-from ._models_py3 import SubmissionMailEntityProperties
-from ._models_py3 import SystemData
-from ._models_py3 import TICheckRequirements
-from ._models_py3 import TICheckRequirementsProperties
-from ._models_py3 import TIDataConnector
-from ._models_py3 import TIDataConnectorDataTypes
-from ._models_py3 import TIDataConnectorDataTypesIndicators
-from ._models_py3 import TIDataConnectorProperties
-from ._models_py3 import TeamInformation
-from ._models_py3 import TeamProperties
-from ._models_py3 import ThreatIntelligence
-from ._models_py3 import ThreatIntelligenceAlertRule
-from ._models_py3 import ThreatIntelligenceAlertRuleTemplate
-from ._models_py3 import ThreatIntelligenceAlertRuleTemplateProperties
-from ._models_py3 import ThreatIntelligenceAppendTags
-from ._models_py3 import ThreatIntelligenceExternalReference
-from ._models_py3 import ThreatIntelligenceFilteringCriteria
-from ._models_py3 import ThreatIntelligenceGranularMarkingModel
-from ._models_py3 import ThreatIntelligenceIndicatorModel
-from ._models_py3 import ThreatIntelligenceIndicatorProperties
-from ._models_py3 import ThreatIntelligenceInformation
-from ._models_py3 import ThreatIntelligenceInformationList
-from ._models_py3 import ThreatIntelligenceKillChainPhase
-from ._models_py3 import ThreatIntelligenceMetric
-from ._models_py3 import ThreatIntelligenceMetricEntity
-from ._models_py3 import ThreatIntelligenceMetrics
-from ._models_py3 import ThreatIntelligenceMetricsList
-from ._models_py3 import ThreatIntelligenceParsedPattern
-from ._models_py3 import ThreatIntelligenceParsedPatternTypeValue
-from ._models_py3 import ThreatIntelligenceSortingCriteria
-from ._models_py3 import TiTaxiiCheckRequirements
-from ._models_py3 import TiTaxiiCheckRequirementsProperties
-from ._models_py3 import TiTaxiiDataConnector
-from ._models_py3 import TiTaxiiDataConnectorDataTypes
-from ._models_py3 import TiTaxiiDataConnectorDataTypesTaxiiClient
-from ._models_py3 import TiTaxiiDataConnectorProperties
-from ._models_py3 import TimelineAggregation
-from ._models_py3 import TimelineError
-from ._models_py3 import TimelineResultsMetadata
-from ._models_py3 import Ueba
-from ._models_py3 import UrlEntity
-from ._models_py3 import UrlEntityProperties
-from ._models_py3 import UserInfo
-from ._models_py3 import ValidationError
-from ._models_py3 import Watchlist
-from ._models_py3 import WatchlistItem
-from ._models_py3 import WatchlistItemList
-from ._models_py3 import WatchlistList
-from ._models_py3 import Webhook
+from typing import TYPE_CHECKING
-from ._security_insights_enums import ActionType
-from ._security_insights_enums import AlertDetail
-from ._security_insights_enums import AlertProperty
-from ._security_insights_enums import AlertRuleKind
-from ._security_insights_enums import AlertSeverity
-from ._security_insights_enums import AlertStatus
-from ._security_insights_enums import AntispamMailDirection
-from ._security_insights_enums import AttackTactic
-from ._security_insights_enums import AutomationRuleBooleanConditionSupportedOperator
-from ._security_insights_enums import AutomationRulePropertyArrayChangedConditionSupportedArrayType
-from ._security_insights_enums import AutomationRulePropertyArrayChangedConditionSupportedChangeType
-from ._security_insights_enums import AutomationRulePropertyArrayConditionSupportedArrayConditionType
-from ._security_insights_enums import AutomationRulePropertyArrayConditionSupportedArrayType
-from ._security_insights_enums import AutomationRulePropertyChangedConditionSupportedChangedType
-from ._security_insights_enums import AutomationRulePropertyChangedConditionSupportedPropertyType
-from ._security_insights_enums import AutomationRulePropertyConditionSupportedOperator
-from ._security_insights_enums import AutomationRulePropertyConditionSupportedProperty
-from ._security_insights_enums import Category
-from ._security_insights_enums import ConditionType
-from ._security_insights_enums import ConfidenceLevel
-from ._security_insights_enums import ConfidenceScoreStatus
-from ._security_insights_enums import ConnectAuthKind
-from ._security_insights_enums import ConnectivityType
-from ._security_insights_enums import ContentType
-from ._security_insights_enums import Context
-from ._security_insights_enums import CreatedByType
-from ._security_insights_enums import CustomEntityQueryKind
-from ._security_insights_enums import DataConnectorAuthorizationState
-from ._security_insights_enums import DataConnectorKind
-from ._security_insights_enums import DataConnectorLicenseState
-from ._security_insights_enums import DataTypeState
-from ._security_insights_enums import DeleteStatus
-from ._security_insights_enums import DeliveryAction
-from ._security_insights_enums import DeliveryLocation
-from ._security_insights_enums import DeploymentFetchStatus
-from ._security_insights_enums import DeploymentResult
-from ._security_insights_enums import DeploymentState
-from ._security_insights_enums import DeviceImportance
-from ._security_insights_enums import ElevationToken
-from ._security_insights_enums import EntityItemQueryKind
-from ._security_insights_enums import EntityKind
-from ._security_insights_enums import EntityMappingType
-from ._security_insights_enums import EntityProviders
-from ._security_insights_enums import EntityQueryKind
-from ._security_insights_enums import EntityQueryTemplateKind
-from ._security_insights_enums import EntityTimelineKind
-from ._security_insights_enums import EntityType
-from ._security_insights_enums import Enum13
-from ._security_insights_enums import Enum15
-from ._security_insights_enums import EventGroupingAggregationKind
-from ._security_insights_enums import FileFormat
-from ._security_insights_enums import FileHashAlgorithm
-from ._security_insights_enums import FileImportContentType
-from ._security_insights_enums import FileImportState
-from ._security_insights_enums import GetInsightsError
-from ._security_insights_enums import IncidentClassification
-from ._security_insights_enums import IncidentClassificationReason
-from ._security_insights_enums import IncidentLabelType
-from ._security_insights_enums import IncidentSeverity
-from ._security_insights_enums import IncidentStatus
-from ._security_insights_enums import IncidentTaskStatus
-from ._security_insights_enums import IngestionMode
-from ._security_insights_enums import KillChainIntent
-from ._security_insights_enums import Kind
-from ._security_insights_enums import MatchingMethod
-from ._security_insights_enums import MicrosoftSecurityProductName
-from ._security_insights_enums import OSFamily
-from ._security_insights_enums import Operator
-from ._security_insights_enums import OutputType
-from ._security_insights_enums import OwnerType
-from ._security_insights_enums import PermissionProviderScope
-from ._security_insights_enums import PollingFrequency
-from ._security_insights_enums import Priority
-from ._security_insights_enums import ProviderName
-from ._security_insights_enums import RegistryHive
-from ._security_insights_enums import RegistryValueKind
-from ._security_insights_enums import RepoType
-from ._security_insights_enums import SecurityMLAnalyticsSettingsKind
-from ._security_insights_enums import SettingKind
-from ._security_insights_enums import SettingType
-from ._security_insights_enums import SettingsStatus
-from ._security_insights_enums import SourceKind
-from ._security_insights_enums import SourceType
-from ._security_insights_enums import State
-from ._security_insights_enums import SupportTier
-from ._security_insights_enums import TemplateStatus
-from ._security_insights_enums import ThreatIntelligenceResourceKindEnum
-from ._security_insights_enums import ThreatIntelligenceSortingCriteriaEnum
-from ._security_insights_enums import TriggerOperator
-from ._security_insights_enums import TriggersOn
-from ._security_insights_enums import TriggersWhen
-from ._security_insights_enums import UebaDataSources
-from ._security_insights_enums import Version
+if TYPE_CHECKING:
+ from ._patch import * # pylint: disable=unused-wildcard-import
+
+
+from ._models_py3 import ( # type: ignore
+ AADCheckRequirements,
+ AADCheckRequirementsProperties,
+ AADDataConnector,
+ AADDataConnectorProperties,
+ AATPCheckRequirements,
+ AATPCheckRequirementsProperties,
+ AATPDataConnector,
+ AATPDataConnectorProperties,
+ ASCCheckRequirements,
+ ASCDataConnector,
+ ASCDataConnectorProperties,
+ AWSAuthModel,
+ AccountEntity,
+ AccountEntityProperties,
+ Action,
+ ActionPropertiesBase,
+ ActionRequest,
+ ActionRequestProperties,
+ ActionResponse,
+ ActionResponseProperties,
+ ActionsList,
+ ActivityCustomEntityQuery,
+ ActivityEntityQueriesPropertiesQueryDefinitions,
+ ActivityEntityQuery,
+ ActivityEntityQueryTemplate,
+ ActivityEntityQueryTemplatePropertiesQueryDefinitions,
+ ActivityTimelineItem,
+ AddIncidentTaskActionProperties,
+ AgentConfiguration,
+ AgentSystem,
+ AlertDetailsOverride,
+ AlertPropertyMapping,
+ AlertRule,
+ AlertRuleTemplate,
+ AlertRuleTemplateDataSource,
+ AlertRuleTemplatePropertiesBase,
+ AlertRuleTemplateWithMitreProperties,
+ AlertRuleTemplatesList,
+ AlertRulesList,
+ AlertsDataTypeOfDataConnector,
+ AnalyticsRuleRunTrigger,
+ Anomalies,
+ AnomalySecurityMLAnalyticsSettings,
+ AnomalyTimelineItem,
+ ApiKeyAuthModel,
+ AssignmentItem,
+ AttackPattern,
+ AutomationRule,
+ AutomationRuleAction,
+ AutomationRuleAddIncidentTaskAction,
+ AutomationRuleBooleanCondition,
+ AutomationRuleCondition,
+ AutomationRuleModifyPropertiesAction,
+ AutomationRulePropertyArrayChangedValuesCondition,
+ AutomationRulePropertyArrayValuesCondition,
+ AutomationRulePropertyValuesChangedCondition,
+ AutomationRulePropertyValuesCondition,
+ AutomationRuleRunPlaybookAction,
+ AutomationRuleTriggeringLogic,
+ AutomationRulesList,
+ Availability,
+ AwsCloudTrailCheckRequirements,
+ AwsCloudTrailDataConnector,
+ AwsCloudTrailDataConnectorDataTypes,
+ AwsCloudTrailDataConnectorDataTypesLogs,
+ AwsS3CheckRequirements,
+ AwsS3DataConnector,
+ AwsS3DataConnectorDataTypes,
+ AwsS3DataConnectorDataTypesLogs,
+ AzureDevOpsResourceInfo,
+ AzureEntityResource,
+ AzureResourceEntity,
+ AzureResourceEntityProperties,
+ BasicAuthModel,
+ BillingStatistic,
+ BillingStatisticList,
+ Bookmark,
+ BookmarkEntityMappings,
+ BookmarkExpandParameters,
+ BookmarkExpandResponse,
+ BookmarkExpandResponseValue,
+ BookmarkList,
+ BookmarkTimelineItem,
+ BooleanConditionProperties,
+ BusinessApplicationAgentResource,
+ BusinessApplicationAgentsList,
+ CcpAuthConfig,
+ CcpResponseConfig,
+ ClientInfo,
+ CloudApplicationEntity,
+ CloudApplicationEntityProperties,
+ CloudErrorBody,
+ CodelessApiPollingDataConnector,
+ CodelessConnectorPollingAuthProperties,
+ CodelessConnectorPollingConfigProperties,
+ CodelessConnectorPollingPagingProperties,
+ CodelessConnectorPollingRequestProperties,
+ CodelessConnectorPollingResponseProperties,
+ CodelessUiConnectorConfigProperties,
+ CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem,
+ CodelessUiConnectorConfigPropertiesDataTypesItem,
+ CodelessUiConnectorConfigPropertiesGraphQueriesItem,
+ CodelessUiConnectorConfigPropertiesInstructionStepsItem,
+ CodelessUiConnectorConfigPropertiesSampleQueriesItem,
+ CodelessUiDataConnector,
+ ConditionClause,
+ ConditionProperties,
+ ConnectedEntity,
+ ConnectivityCriteria,
+ ConnectivityCriterion,
+ ConnectorDataType,
+ ConnectorDefinitionsAvailability,
+ ConnectorDefinitionsPermissions,
+ ConnectorDefinitionsResourceProvider,
+ ConnectorInstructionModelBase,
+ CountQuery,
+ CustomEntityQuery,
+ CustomPermissionDetails,
+ CustomizableConnectionsConfig,
+ CustomizableConnectorDefinition,
+ CustomizableConnectorUiConfig,
+ Customs,
+ CustomsPermission,
+ DCRConfiguration,
+ DataConnector,
+ DataConnectorConnectBody,
+ DataConnectorDataTypeCommon,
+ DataConnectorDefinition,
+ DataConnectorDefinitionArmCollectionWrapper,
+ DataConnectorList,
+ DataConnectorRequirementsState,
+ DataConnectorTenantId,
+ DataConnectorWithAlertsProperties,
+ DataConnectorsCheckRequirements,
+ DataTypeDefinitions,
+ Deployment,
+ DeploymentInfo,
+ DnsEntity,
+ DnsEntityProperties,
+ Dynamics365CheckRequirements,
+ Dynamics365CheckRequirementsProperties,
+ Dynamics365DataConnector,
+ Dynamics365DataConnectorDataTypes,
+ Dynamics365DataConnectorDataTypesDynamics365CdsActivities,
+ Dynamics365DataConnectorProperties,
+ EnrichmentDomainBody,
+ EnrichmentDomainWhois,
+ EnrichmentDomainWhoisContact,
+ EnrichmentDomainWhoisContacts,
+ EnrichmentDomainWhoisDetails,
+ EnrichmentDomainWhoisRegistrarDetails,
+ EnrichmentIpAddressBody,
+ EnrichmentIpGeodata,
+ Entity,
+ EntityAnalytics,
+ EntityCommonProperties,
+ EntityEdges,
+ EntityExpandParameters,
+ EntityExpandResponse,
+ EntityExpandResponseValue,
+ EntityFieldMapping,
+ EntityGetInsightsParameters,
+ EntityGetInsightsResponse,
+ EntityInsightItem,
+ EntityInsightItemQueryTimeInterval,
+ EntityList,
+ EntityManualTriggerRequestBody,
+ EntityMapping,
+ EntityQuery,
+ EntityQueryItem,
+ EntityQueryItemProperties,
+ EntityQueryItemPropertiesDataTypesItem,
+ EntityQueryList,
+ EntityQueryTemplate,
+ EntityQueryTemplateList,
+ EntityTimelineItem,
+ EntityTimelineParameters,
+ EntityTimelineResponse,
+ Error,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ EventGroupingSettings,
+ ExpansionEntityQuery,
+ ExpansionResultAggregation,
+ ExpansionResultsMetadata,
+ EyesOn,
+ FieldMapping,
+ FileEntity,
+ FileEntityProperties,
+ FileHashEntity,
+ FileHashEntityProperties,
+ FileImport,
+ FileImportList,
+ FileMetadata,
+ FusionAlertRule,
+ FusionAlertRuleTemplate,
+ FusionScenarioExclusionPattern,
+ FusionSourceSettings,
+ FusionSourceSubTypeSetting,
+ FusionSubTypeSeverityFilter,
+ FusionSubTypeSeverityFiltersItem,
+ FusionTemplateSourceSetting,
+ FusionTemplateSourceSubType,
+ FusionTemplateSubTypeSeverityFilter,
+ GCPAuthModel,
+ GCPAuthProperties,
+ GCPDataConnector,
+ GCPRequestProperties,
+ GenericBlobSbsAuthModel,
+ GeoLocation,
+ GetInsightsErrorKind,
+ GetInsightsResultsMetadata,
+ GetQueriesResponse,
+ GitHubAuthModel,
+ GitHubResourceInfo,
+ GraphQueries,
+ GraphQuery,
+ GroupingConfiguration,
+ HostEntity,
+ HostEntityProperties,
+ Hunt,
+ HuntComment,
+ HuntCommentList,
+ HuntList,
+ HuntOwner,
+ HuntRelation,
+ HuntRelationList,
+ HuntingBookmark,
+ HuntingBookmarkProperties,
+ Identity,
+ Incident,
+ IncidentAdditionalData,
+ IncidentAlertList,
+ IncidentBookmarkList,
+ IncidentComment,
+ IncidentCommentList,
+ IncidentConfiguration,
+ IncidentEntitiesResponse,
+ IncidentEntitiesResultsMetadata,
+ IncidentInfo,
+ IncidentLabel,
+ IncidentList,
+ IncidentOwnerInfo,
+ IncidentPropertiesAction,
+ IncidentTask,
+ IncidentTaskList,
+ Indicator,
+ IndicatorObservablesItem,
+ InsightQueryItem,
+ InsightQueryItemProperties,
+ InsightQueryItemPropertiesAdditionalQuery,
+ InsightQueryItemPropertiesDefaultTimeRange,
+ InsightQueryItemPropertiesReferenceTimeRange,
+ InsightQueryItemPropertiesTableQuery,
+ InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem,
+ InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem,
+ InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem,
+ InsightsTableResult,
+ InsightsTableResultColumnsItem,
+ InstructionStep,
+ InstructionStepDetails,
+ InstructionSteps,
+ InstructionStepsInstructionsItem,
+ IoTCheckRequirements,
+ IoTDataConnector,
+ IoTDataConnectorProperties,
+ IoTDeviceEntity,
+ IoTDeviceEntityProperties,
+ IpEntity,
+ IpEntityProperties,
+ Job,
+ JobItem,
+ JobList,
+ JwtAuthModel,
+ LastDataReceivedDataType,
+ ListActionsResponse,
+ LockUserAction,
+ Log,
+ MCASCheckRequirements,
+ MCASCheckRequirementsProperties,
+ MCASDataConnector,
+ MCASDataConnectorDataTypes,
+ MCASDataConnectorProperties,
+ MDATPCheckRequirements,
+ MDATPCheckRequirementsProperties,
+ MDATPDataConnector,
+ MDATPDataConnectorProperties,
+ MLBehaviorAnalyticsAlertRule,
+ MLBehaviorAnalyticsAlertRuleTemplate,
+ MLBehaviorAnalyticsAlertRuleTemplateProperties,
+ MSTICheckRequirements,
+ MSTICheckRequirementsProperties,
+ MSTIDataConnector,
+ MSTIDataConnectorDataTypes,
+ MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed,
+ MSTIDataConnectorProperties,
+ MTPCheckRequirementsProperties,
+ MTPDataConnector,
+ MTPDataConnectorDataTypes,
+ MTPDataConnectorDataTypesAlerts,
+ MTPDataConnectorDataTypesIncidents,
+ MTPDataConnectorProperties,
+ MailClusterEntity,
+ MailClusterEntityProperties,
+ MailMessageEntity,
+ MailMessageEntityProperties,
+ MailboxEntity,
+ MailboxEntityProperties,
+ MalwareEntity,
+ MalwareEntityProperties,
+ ManualTriggerRequestBody,
+ MetadataAuthor,
+ MetadataCategories,
+ MetadataDependencies,
+ MetadataList,
+ MetadataModel,
+ MetadataPatch,
+ MetadataSource,
+ MetadataSupport,
+ MicrosoftPurviewInformationProtectionCheckRequirements,
+ MicrosoftPurviewInformationProtectionCheckRequirementsProperties,
+ MicrosoftPurviewInformationProtectionConnectorDataTypes,
+ MicrosoftPurviewInformationProtectionConnectorDataTypesLogs,
+ MicrosoftPurviewInformationProtectionDataConnector,
+ MicrosoftPurviewInformationProtectionDataConnectorProperties,
+ MicrosoftSecurityIncidentCreationAlertRule,
+ MicrosoftSecurityIncidentCreationAlertRuleCommonProperties,
+ MicrosoftSecurityIncidentCreationAlertRuleProperties,
+ MicrosoftSecurityIncidentCreationAlertRuleTemplate,
+ MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties,
+ MtpCheckRequirements,
+ MtpFilteredProviders,
+ NicEntity,
+ NicEntityProperties,
+ NoneAuthModel,
+ NrtAlertRule,
+ NrtAlertRuleTemplate,
+ NrtAlertRuleTemplateProperties,
+ OAuthModel,
+ Office365ProjectCheckRequirements,
+ Office365ProjectCheckRequirementsProperties,
+ Office365ProjectConnectorDataTypes,
+ Office365ProjectConnectorDataTypesLogs,
+ Office365ProjectDataConnector,
+ Office365ProjectDataConnectorProperties,
+ OfficeATPCheckRequirements,
+ OfficeATPCheckRequirementsProperties,
+ OfficeATPDataConnector,
+ OfficeATPDataConnectorProperties,
+ OfficeConsent,
+ OfficeConsentList,
+ OfficeDataConnector,
+ OfficeDataConnectorDataTypes,
+ OfficeDataConnectorDataTypesExchange,
+ OfficeDataConnectorDataTypesSharePoint,
+ OfficeDataConnectorDataTypesTeams,
+ OfficeDataConnectorProperties,
+ OfficeIRMCheckRequirements,
+ OfficeIRMCheckRequirementsProperties,
+ OfficeIRMDataConnector,
+ OfficeIRMDataConnectorProperties,
+ OfficePowerBICheckRequirements,
+ OfficePowerBICheckRequirementsProperties,
+ OfficePowerBIConnectorDataTypes,
+ OfficePowerBIConnectorDataTypesLogs,
+ OfficePowerBIDataConnector,
+ OfficePowerBIDataConnectorProperties,
+ Operation,
+ OperationDisplay,
+ OperationsList,
+ OracleAuthModel,
+ PackageBaseProperties,
+ PackageList,
+ PackageModel,
+ PackageProperties,
+ Permissions,
+ PermissionsCustomsItem,
+ PermissionsResourceProviderItem,
+ PlaybookActionProperties,
+ ProcessEntity,
+ ProcessEntityProperties,
+ ProductPackageAdditionalProperties,
+ ProductPackageList,
+ ProductPackageModel,
+ ProductPackageProperties,
+ ProductTemplateAdditionalProperties,
+ ProductTemplateList,
+ ProductTemplateModel,
+ ProductTemplateProperties,
+ PropertyArrayChangedConditionProperties,
+ PropertyArrayConditionProperties,
+ PropertyChangedConditionProperties,
+ PropertyConditionProperties,
+ PullRequest,
+ PurviewAuditCheckRequirements,
+ PurviewAuditCheckRequirementsProperties,
+ PurviewAuditConnectorDataTypes,
+ PurviewAuditConnectorDataTypesLogs,
+ PurviewAuditDataConnector,
+ PurviewAuditDataConnectorProperties,
+ Query,
+ QueryBasedAlertRuleTemplateProperties,
+ QueryCondition,
+ QuerySortBy,
+ Recommendation,
+ RecommendationList,
+ RecommendationPatch,
+ RecommendationPatchProperties,
+ RecommendedSuggestion,
+ ReevaluateResponse,
+ RegistryKeyEntity,
+ RegistryKeyEntityProperties,
+ RegistryValueEntity,
+ RegistryValueEntityProperties,
+ Relation,
+ RelationList,
+ Relationship,
+ RelationshipHint,
+ Repo,
+ RepoList,
+ ReportActionStatusPayload,
+ Repository,
+ RepositoryAccess,
+ RepositoryAccessProperties,
+ RepositoryResourceInfo,
+ RequiredPermissions,
+ Resource,
+ ResourceProvider,
+ ResourceProviderRequiredPermissions,
+ ResourceWithEtag,
+ RestApiPollerDataConnector,
+ RestApiPollerRequestConfig,
+ RestApiPollerRequestPagingConfig,
+ RestApiPollerRequestPagingCountBaseConfig,
+ RestApiPollerRequestPagingLinkHeaderConfig,
+ RestApiPollerRequestPagingNextPageUrlConfig,
+ RestApiPollerRequestPagingOffsetConfig,
+ RestApiPollerRequestPagingTokenConfig,
+ RfcConnector,
+ SampleQueries,
+ SapAgentConfiguration,
+ SapControlConnector,
+ SapSolutionUsageStatistic,
+ SapSystemsConfiguration,
+ ScheduledAlertRule,
+ ScheduledAlertRuleCommonProperties,
+ ScheduledAlertRuleProperties,
+ ScheduledAlertRuleTemplate,
+ SecurityAlert,
+ SecurityAlertProperties,
+ SecurityAlertPropertiesConfidenceReasonsItem,
+ SecurityAlertTimelineItem,
+ SecurityGroupEntity,
+ SecurityGroupEntityProperties,
+ SecurityMLAnalyticsSetting,
+ SecurityMLAnalyticsSettingsDataSource,
+ SecurityMLAnalyticsSettingsList,
+ SentinelEntityMapping,
+ SentinelOnboardingState,
+ SentinelOnboardingStatesList,
+ ServicePrincipal,
+ SessionAuthModel,
+ SettingList,
+ Settings,
+ SourceControl,
+ SourceControlList,
+ SubmissionMailEntity,
+ SubmissionMailEntityProperties,
+ SystemData,
+ SystemResource,
+ SystemsConfiguration,
+ SystemsConfigurationConnector,
+ SystemsList,
+ TICheckRequirements,
+ TICheckRequirementsProperties,
+ TIDataConnector,
+ TIDataConnectorDataTypes,
+ TIDataConnectorDataTypesIndicators,
+ TIDataConnectorProperties,
+ TIObject,
+ TeamInformation,
+ TeamProperties,
+ TemplateAdditionalProperties,
+ TemplateBaseProperties,
+ TemplateList,
+ TemplateModel,
+ TemplateProperties,
+ ThreatActor,
+ ThreatIntelligence,
+ ThreatIntelligenceAlertRule,
+ ThreatIntelligenceAlertRuleTemplate,
+ ThreatIntelligenceAlertRuleTemplateProperties,
+ ThreatIntelligenceAppendTags,
+ ThreatIntelligenceCount,
+ ThreatIntelligenceExternalReference,
+ ThreatIntelligenceFilteringCriteria,
+ ThreatIntelligenceGranularMarkingModel,
+ ThreatIntelligenceIndicatorModel,
+ ThreatIntelligenceIndicatorProperties,
+ ThreatIntelligenceInformation,
+ ThreatIntelligenceInformationList,
+ ThreatIntelligenceKillChainPhase,
+ ThreatIntelligenceList,
+ ThreatIntelligenceMetric,
+ ThreatIntelligenceMetricEntity,
+ ThreatIntelligenceMetrics,
+ ThreatIntelligenceMetricsList,
+ ThreatIntelligenceParsedPattern,
+ ThreatIntelligenceParsedPatternTypeValue,
+ ThreatIntelligenceSortingCriteria,
+ TiTaxiiCheckRequirements,
+ TiTaxiiCheckRequirementsProperties,
+ TiTaxiiDataConnector,
+ TiTaxiiDataConnectorDataTypes,
+ TiTaxiiDataConnectorDataTypesTaxiiClient,
+ TiTaxiiDataConnectorProperties,
+ TimelineAggregation,
+ TimelineError,
+ TimelineResultsMetadata,
+ TriggeredAnalyticsRuleRun,
+ TriggeredAnalyticsRuleRuns,
+ Ueba,
+ UndoActionPayload,
+ UnlockUserAction,
+ UrlEntity,
+ UrlEntityProperties,
+ UserInfo,
+ ValidationError,
+ Warning,
+ WarningBody,
+ Watchlist,
+ WatchlistItem,
+ WatchlistItemList,
+ WatchlistList,
+ Webhook,
+ WorkspaceManagerAssignment,
+ WorkspaceManagerAssignmentList,
+ WorkspaceManagerConfiguration,
+ WorkspaceManagerConfigurationList,
+ WorkspaceManagerGroup,
+ WorkspaceManagerGroupList,
+ WorkspaceManagerMember,
+ WorkspaceManagerMembersList,
+)
+
+from ._security_insights_enums import ( # type: ignore
+ ActionStatus,
+ ActionType,
+ AgentType,
+ AlertDetail,
+ AlertProperty,
+ AlertRuleKind,
+ AlertSeverity,
+ AlertStatus,
+ AntispamMailDirection,
+ AttackTactic,
+ AutomationRuleBooleanConditionSupportedOperator,
+ AutomationRulePropertyArrayChangedConditionSupportedArrayType,
+ AutomationRulePropertyArrayChangedConditionSupportedChangeType,
+ AutomationRulePropertyArrayConditionSupportedArrayConditionType,
+ AutomationRulePropertyArrayConditionSupportedArrayType,
+ AutomationRulePropertyChangedConditionSupportedChangedType,
+ AutomationRulePropertyChangedConditionSupportedPropertyType,
+ AutomationRulePropertyConditionSupportedOperator,
+ AutomationRulePropertyConditionSupportedProperty,
+ BillingStatisticKind,
+ CcpAuthType,
+ ConditionType,
+ ConfidenceLevel,
+ ConfidenceScoreStatus,
+ ConfigurationType,
+ ConnectAuthKind,
+ Connective,
+ ConnectivityType,
+ ContentType,
+ CreatedByType,
+ CustomEntityQueryKind,
+ DataConnectorAuthorizationState,
+ DataConnectorDefinitionKind,
+ DataConnectorKind,
+ DataConnectorLicenseState,
+ DataTypeState,
+ DeleteStatus,
+ DeliveryAction,
+ DeliveryLocation,
+ DeploymentFetchStatus,
+ DeploymentResult,
+ DeploymentState,
+ DeviceImportance,
+ ElevationToken,
+ EnrichmentType,
+ EntityItemQueryKind,
+ EntityKindEnum,
+ EntityMappingType,
+ EntityProviders,
+ EntityQueryKind,
+ EntityQueryTemplateKind,
+ EntityTimelineKind,
+ EntityType,
+ EventGroupingAggregationKind,
+ FileFormat,
+ FileHashAlgorithm,
+ FileImportContentType,
+ FileImportState,
+ Flag,
+ GetInsightsError,
+ HttpMethodVerb,
+ HttpsConfigurationType,
+ HypothesisStatus,
+ IncidentClassification,
+ IncidentClassificationReason,
+ IncidentLabelType,
+ IncidentSeverity,
+ IncidentStatus,
+ IncidentTaskStatus,
+ IngestionMode,
+ IngestionType,
+ KeyVaultAuthenticationMode,
+ KillChainIntent,
+ Kind,
+ ListActionKind,
+ LogStatusType,
+ LogType,
+ MatchingMethod,
+ MicrosoftSecurityProductName,
+ Mode,
+ MtpProvider,
+ OSFamily,
+ Operator,
+ OutputType,
+ OwnerType,
+ PackageKind,
+ PermissionProviderScope,
+ PollingFrequency,
+ ProviderName,
+ ProviderPermissionsScope,
+ ProvisioningState,
+ RegistryHive,
+ RegistryValueKind,
+ RepoType,
+ RepositoryAccessKind,
+ RestApiPollerRequestPagingKind,
+ SapAuthenticationType,
+ SecretSource,
+ SecurityMLAnalyticsSettingsKind,
+ SettingKind,
+ SettingType,
+ SettingsStatus,
+ SortingDirection,
+ SourceKind,
+ SourceType,
+ State,
+ Status,
+ SupportTier,
+ SystemConfigurationConnectorType,
+ SystemStatusType,
+ TIObjectKind,
+ TemplateStatus,
+ ThreatIntelligenceResourceInnerKind,
+ ThreatIntelligenceSortingOrder,
+ TiType,
+ TriggerOperator,
+ TriggersOn,
+ TriggersWhen,
+ UebaDataSources,
+ Version,
+ WarningCode,
+)
from ._patch import __all__ as _patch_all
-from ._patch import * # pylint: disable=unused-wildcard-import
+from ._patch import *
from ._patch import patch_sdk as _patch_sdk
__all__ = [
@@ -517,8 +700,10 @@
"ASCCheckRequirements",
"ASCDataConnector",
"ASCDataConnectorProperties",
+ "AWSAuthModel",
"AccountEntity",
"AccountEntityProperties",
+ "Action",
"ActionPropertiesBase",
"ActionRequest",
"ActionRequestProperties",
@@ -532,6 +717,8 @@
"ActivityEntityQueryTemplatePropertiesQueryDefinitions",
"ActivityTimelineItem",
"AddIncidentTaskActionProperties",
+ "AgentConfiguration",
+ "AgentSystem",
"AlertDetailsOverride",
"AlertPropertyMapping",
"AlertRule",
@@ -542,9 +729,13 @@
"AlertRuleTemplatesList",
"AlertRulesList",
"AlertsDataTypeOfDataConnector",
+ "AnalyticsRuleRunTrigger",
"Anomalies",
"AnomalySecurityMLAnalyticsSettings",
"AnomalyTimelineItem",
+ "ApiKeyAuthModel",
+ "AssignmentItem",
+ "AttackPattern",
"AutomationRule",
"AutomationRuleAction",
"AutomationRuleAddIncidentTaskAction",
@@ -568,8 +759,12 @@
"AwsS3DataConnectorDataTypes",
"AwsS3DataConnectorDataTypesLogs",
"AzureDevOpsResourceInfo",
+ "AzureEntityResource",
"AzureResourceEntity",
"AzureResourceEntityProperties",
+ "BasicAuthModel",
+ "BillingStatistic",
+ "BillingStatisticList",
"Bookmark",
"BookmarkEntityMappings",
"BookmarkExpandParameters",
@@ -578,6 +773,10 @@
"BookmarkList",
"BookmarkTimelineItem",
"BooleanConditionProperties",
+ "BusinessApplicationAgentResource",
+ "BusinessApplicationAgentsList",
+ "CcpAuthConfig",
+ "CcpResponseConfig",
"ClientInfo",
"CloudApplicationEntity",
"CloudApplicationEntityProperties",
@@ -595,17 +794,30 @@
"CodelessUiConnectorConfigPropertiesInstructionStepsItem",
"CodelessUiConnectorConfigPropertiesSampleQueriesItem",
"CodelessUiDataConnector",
+ "ConditionClause",
+ "ConditionProperties",
"ConnectedEntity",
"ConnectivityCriteria",
+ "ConnectivityCriterion",
+ "ConnectorDataType",
+ "ConnectorDefinitionsAvailability",
+ "ConnectorDefinitionsPermissions",
+ "ConnectorDefinitionsResourceProvider",
"ConnectorInstructionModelBase",
- "Content",
- "ContentPathMap",
+ "CountQuery",
"CustomEntityQuery",
+ "CustomPermissionDetails",
+ "CustomizableConnectionsConfig",
+ "CustomizableConnectorDefinition",
+ "CustomizableConnectorUiConfig",
"Customs",
"CustomsPermission",
+ "DCRConfiguration",
"DataConnector",
"DataConnectorConnectBody",
"DataConnectorDataTypeCommon",
+ "DataConnectorDefinition",
+ "DataConnectorDefinitionArmCollectionWrapper",
"DataConnectorList",
"DataConnectorRequirementsState",
"DataConnectorTenantId",
@@ -622,11 +834,13 @@
"Dynamics365DataConnectorDataTypes",
"Dynamics365DataConnectorDataTypesDynamics365CdsActivities",
"Dynamics365DataConnectorProperties",
+ "EnrichmentDomainBody",
"EnrichmentDomainWhois",
"EnrichmentDomainWhoisContact",
"EnrichmentDomainWhoisContacts",
"EnrichmentDomainWhoisDetails",
"EnrichmentDomainWhoisRegistrarDetails",
+ "EnrichmentIpAddressBody",
"EnrichmentIpGeodata",
"Entity",
"EntityAnalytics",
@@ -641,6 +855,7 @@
"EntityInsightItem",
"EntityInsightItemQueryTimeInterval",
"EntityList",
+ "EntityManualTriggerRequestBody",
"EntityMapping",
"EntityQuery",
"EntityQueryItem",
@@ -652,6 +867,10 @@
"EntityTimelineItem",
"EntityTimelineParameters",
"EntityTimelineResponse",
+ "Error",
+ "ErrorAdditionalInfo",
+ "ErrorDetail",
+ "ErrorResponse",
"EventGroupingSettings",
"ExpansionEntityQuery",
"ExpansionResultAggregation",
@@ -675,17 +894,32 @@
"FusionTemplateSourceSetting",
"FusionTemplateSourceSubType",
"FusionTemplateSubTypeSeverityFilter",
+ "GCPAuthModel",
+ "GCPAuthProperties",
+ "GCPDataConnector",
+ "GCPRequestProperties",
+ "GenericBlobSbsAuthModel",
"GeoLocation",
"GetInsightsErrorKind",
"GetInsightsResultsMetadata",
"GetQueriesResponse",
+ "GitHubAuthModel",
"GitHubResourceInfo",
"GraphQueries",
+ "GraphQuery",
"GroupingConfiguration",
"HostEntity",
"HostEntityProperties",
+ "Hunt",
+ "HuntComment",
+ "HuntCommentList",
+ "HuntList",
+ "HuntOwner",
+ "HuntRelation",
+ "HuntRelationList",
"HuntingBookmark",
"HuntingBookmarkProperties",
+ "Identity",
"Incident",
"IncidentAdditionalData",
"IncidentAlertList",
@@ -702,6 +936,8 @@
"IncidentPropertiesAction",
"IncidentTask",
"IncidentTaskList",
+ "Indicator",
+ "IndicatorObservablesItem",
"InsightQueryItem",
"InsightQueryItemProperties",
"InsightQueryItemPropertiesAdditionalQuery",
@@ -713,9 +949,10 @@
"InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem",
"InsightsTableResult",
"InsightsTableResultColumnsItem",
+ "InstructionStep",
+ "InstructionStepDetails",
"InstructionSteps",
"InstructionStepsInstructionsItem",
- "Instructions",
"IoTCheckRequirements",
"IoTDataConnector",
"IoTDataConnectorProperties",
@@ -723,7 +960,14 @@
"IoTDeviceEntityProperties",
"IpEntity",
"IpEntityProperties",
+ "Job",
+ "JobItem",
+ "JobList",
+ "JwtAuthModel",
"LastDataReceivedDataType",
+ "ListActionsResponse",
+ "LockUserAction",
+ "Log",
"MCASCheckRequirements",
"MCASCheckRequirementsProperties",
"MCASDataConnector",
@@ -740,12 +984,12 @@
"MSTICheckRequirementsProperties",
"MSTIDataConnector",
"MSTIDataConnectorDataTypes",
- "MSTIDataConnectorDataTypesBingSafetyPhishingURL",
"MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed",
"MSTIDataConnectorProperties",
"MTPCheckRequirementsProperties",
"MTPDataConnector",
"MTPDataConnectorDataTypes",
+ "MTPDataConnectorDataTypesAlerts",
"MTPDataConnectorDataTypesIncidents",
"MTPDataConnectorProperties",
"MailClusterEntity",
@@ -765,17 +1009,26 @@
"MetadataPatch",
"MetadataSource",
"MetadataSupport",
+ "MicrosoftPurviewInformationProtectionCheckRequirements",
+ "MicrosoftPurviewInformationProtectionCheckRequirementsProperties",
+ "MicrosoftPurviewInformationProtectionConnectorDataTypes",
+ "MicrosoftPurviewInformationProtectionConnectorDataTypesLogs",
+ "MicrosoftPurviewInformationProtectionDataConnector",
+ "MicrosoftPurviewInformationProtectionDataConnectorProperties",
"MicrosoftSecurityIncidentCreationAlertRule",
"MicrosoftSecurityIncidentCreationAlertRuleCommonProperties",
"MicrosoftSecurityIncidentCreationAlertRuleProperties",
"MicrosoftSecurityIncidentCreationAlertRuleTemplate",
"MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties",
"MtpCheckRequirements",
+ "MtpFilteredProviders",
"NicEntity",
"NicEntityProperties",
+ "NoneAuthModel",
"NrtAlertRule",
"NrtAlertRuleTemplate",
"NrtAlertRuleTemplateProperties",
+ "OAuthModel",
"Office365ProjectCheckRequirements",
"Office365ProjectCheckRequirementsProperties",
"Office365ProjectConnectorDataTypes",
@@ -807,36 +1060,80 @@
"Operation",
"OperationDisplay",
"OperationsList",
+ "OracleAuthModel",
+ "PackageBaseProperties",
+ "PackageList",
+ "PackageModel",
+ "PackageProperties",
"Permissions",
"PermissionsCustomsItem",
"PermissionsResourceProviderItem",
"PlaybookActionProperties",
"ProcessEntity",
"ProcessEntityProperties",
+ "ProductPackageAdditionalProperties",
+ "ProductPackageList",
+ "ProductPackageModel",
+ "ProductPackageProperties",
+ "ProductTemplateAdditionalProperties",
+ "ProductTemplateList",
+ "ProductTemplateModel",
+ "ProductTemplateProperties",
"PropertyArrayChangedConditionProperties",
"PropertyArrayConditionProperties",
"PropertyChangedConditionProperties",
"PropertyConditionProperties",
+ "PullRequest",
+ "PurviewAuditCheckRequirements",
+ "PurviewAuditCheckRequirementsProperties",
+ "PurviewAuditConnectorDataTypes",
+ "PurviewAuditConnectorDataTypesLogs",
+ "PurviewAuditDataConnector",
+ "PurviewAuditDataConnectorProperties",
+ "Query",
"QueryBasedAlertRuleTemplateProperties",
+ "QueryCondition",
+ "QuerySortBy",
"Recommendation",
"RecommendationList",
"RecommendationPatch",
- "RecommendedAction",
+ "RecommendationPatchProperties",
+ "RecommendedSuggestion",
+ "ReevaluateResponse",
"RegistryKeyEntity",
"RegistryKeyEntityProperties",
"RegistryValueEntity",
"RegistryValueEntityProperties",
"Relation",
"RelationList",
+ "Relationship",
+ "RelationshipHint",
"Repo",
"RepoList",
+ "ReportActionStatusPayload",
"Repository",
+ "RepositoryAccess",
+ "RepositoryAccessProperties",
"RepositoryResourceInfo",
"RequiredPermissions",
"Resource",
"ResourceProvider",
+ "ResourceProviderRequiredPermissions",
"ResourceWithEtag",
+ "RestApiPollerDataConnector",
+ "RestApiPollerRequestConfig",
+ "RestApiPollerRequestPagingConfig",
+ "RestApiPollerRequestPagingCountBaseConfig",
+ "RestApiPollerRequestPagingLinkHeaderConfig",
+ "RestApiPollerRequestPagingNextPageUrlConfig",
+ "RestApiPollerRequestPagingOffsetConfig",
+ "RestApiPollerRequestPagingTokenConfig",
+ "RfcConnector",
"SampleQueries",
+ "SapAgentConfiguration",
+ "SapControlConnector",
+ "SapSolutionUsageStatistic",
+ "SapSystemsConfiguration",
"ScheduledAlertRule",
"ScheduledAlertRuleCommonProperties",
"ScheduledAlertRuleProperties",
@@ -853,6 +1150,8 @@
"SentinelEntityMapping",
"SentinelOnboardingState",
"SentinelOnboardingStatesList",
+ "ServicePrincipal",
+ "SessionAuthModel",
"SettingList",
"Settings",
"SourceControl",
@@ -860,19 +1159,31 @@
"SubmissionMailEntity",
"SubmissionMailEntityProperties",
"SystemData",
+ "SystemResource",
+ "SystemsConfiguration",
+ "SystemsConfigurationConnector",
+ "SystemsList",
"TICheckRequirements",
"TICheckRequirementsProperties",
"TIDataConnector",
"TIDataConnectorDataTypes",
"TIDataConnectorDataTypesIndicators",
"TIDataConnectorProperties",
+ "TIObject",
"TeamInformation",
"TeamProperties",
+ "TemplateAdditionalProperties",
+ "TemplateBaseProperties",
+ "TemplateList",
+ "TemplateModel",
+ "TemplateProperties",
+ "ThreatActor",
"ThreatIntelligence",
"ThreatIntelligenceAlertRule",
"ThreatIntelligenceAlertRuleTemplate",
"ThreatIntelligenceAlertRuleTemplateProperties",
"ThreatIntelligenceAppendTags",
+ "ThreatIntelligenceCount",
"ThreatIntelligenceExternalReference",
"ThreatIntelligenceFilteringCriteria",
"ThreatIntelligenceGranularMarkingModel",
@@ -881,6 +1192,7 @@
"ThreatIntelligenceInformation",
"ThreatIntelligenceInformationList",
"ThreatIntelligenceKillChainPhase",
+ "ThreatIntelligenceList",
"ThreatIntelligenceMetric",
"ThreatIntelligenceMetricEntity",
"ThreatIntelligenceMetrics",
@@ -897,17 +1209,33 @@
"TimelineAggregation",
"TimelineError",
"TimelineResultsMetadata",
+ "TriggeredAnalyticsRuleRun",
+ "TriggeredAnalyticsRuleRuns",
"Ueba",
+ "UndoActionPayload",
+ "UnlockUserAction",
"UrlEntity",
"UrlEntityProperties",
"UserInfo",
"ValidationError",
+ "Warning",
+ "WarningBody",
"Watchlist",
"WatchlistItem",
"WatchlistItemList",
"WatchlistList",
"Webhook",
+ "WorkspaceManagerAssignment",
+ "WorkspaceManagerAssignmentList",
+ "WorkspaceManagerConfiguration",
+ "WorkspaceManagerConfigurationList",
+ "WorkspaceManagerGroup",
+ "WorkspaceManagerGroupList",
+ "WorkspaceManagerMember",
+ "WorkspaceManagerMembersList",
+ "ActionStatus",
"ActionType",
+ "AgentType",
"AlertDetail",
"AlertProperty",
"AlertRuleKind",
@@ -924,17 +1252,20 @@
"AutomationRulePropertyChangedConditionSupportedPropertyType",
"AutomationRulePropertyConditionSupportedOperator",
"AutomationRulePropertyConditionSupportedProperty",
- "Category",
+ "BillingStatisticKind",
+ "CcpAuthType",
"ConditionType",
"ConfidenceLevel",
"ConfidenceScoreStatus",
+ "ConfigurationType",
"ConnectAuthKind",
+ "Connective",
"ConnectivityType",
"ContentType",
- "Context",
"CreatedByType",
"CustomEntityQueryKind",
"DataConnectorAuthorizationState",
+ "DataConnectorDefinitionKind",
"DataConnectorKind",
"DataConnectorLicenseState",
"DataTypeState",
@@ -946,22 +1277,25 @@
"DeploymentState",
"DeviceImportance",
"ElevationToken",
+ "EnrichmentType",
"EntityItemQueryKind",
- "EntityKind",
+ "EntityKindEnum",
"EntityMappingType",
"EntityProviders",
"EntityQueryKind",
"EntityQueryTemplateKind",
"EntityTimelineKind",
"EntityType",
- "Enum13",
- "Enum15",
"EventGroupingAggregationKind",
"FileFormat",
"FileHashAlgorithm",
"FileImportContentType",
"FileImportState",
+ "Flag",
"GetInsightsError",
+ "HttpMethodVerb",
+ "HttpsConfigurationType",
+ "HypothesisStatus",
"IncidentClassification",
"IncidentClassificationReason",
"IncidentLabelType",
@@ -969,37 +1303,57 @@
"IncidentStatus",
"IncidentTaskStatus",
"IngestionMode",
+ "IngestionType",
+ "KeyVaultAuthenticationMode",
"KillChainIntent",
"Kind",
+ "ListActionKind",
+ "LogStatusType",
+ "LogType",
"MatchingMethod",
"MicrosoftSecurityProductName",
+ "Mode",
+ "MtpProvider",
"OSFamily",
"Operator",
"OutputType",
"OwnerType",
+ "PackageKind",
"PermissionProviderScope",
"PollingFrequency",
- "Priority",
"ProviderName",
+ "ProviderPermissionsScope",
+ "ProvisioningState",
"RegistryHive",
"RegistryValueKind",
"RepoType",
+ "RepositoryAccessKind",
+ "RestApiPollerRequestPagingKind",
+ "SapAuthenticationType",
+ "SecretSource",
"SecurityMLAnalyticsSettingsKind",
"SettingKind",
"SettingType",
"SettingsStatus",
+ "SortingDirection",
"SourceKind",
"SourceType",
"State",
+ "Status",
"SupportTier",
+ "SystemConfigurationConnectorType",
+ "SystemStatusType",
+ "TIObjectKind",
"TemplateStatus",
- "ThreatIntelligenceResourceKindEnum",
- "ThreatIntelligenceSortingCriteriaEnum",
+ "ThreatIntelligenceResourceInnerKind",
+ "ThreatIntelligenceSortingOrder",
+ "TiType",
"TriggerOperator",
"TriggersOn",
"TriggersWhen",
"UebaDataSources",
"Version",
+ "WarningCode",
]
-__all__.extend([p for p in _patch_all if p not in __all__])
+__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_models_py3.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_models_py3.py
index 5a15e9c34571..ca52d70890bb 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_models_py3.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_models_py3.py
@@ -1,5 +1,5 @@
-# coding=utf-8
# pylint: disable=too-many-lines
+# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
@@ -9,21 +9,16 @@
import datetime
import sys
-from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
+from typing import Any, Dict, List, Literal, Optional, TYPE_CHECKING, Union
from .. import _serialization
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
- from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
if TYPE_CHECKING:
- # pylint: disable=unused-import,ungrouped-imports
from .. import models as _models
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
@@ -34,20 +29,22 @@ class DataConnectorsCheckRequirements(_serialization.Model):
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
AwsCloudTrailCheckRequirements, AwsS3CheckRequirements, AADCheckRequirements,
AATPCheckRequirements, ASCCheckRequirements, Dynamics365CheckRequirements,
- IoTCheckRequirements, MCASCheckRequirements, MDATPCheckRequirements, MSTICheckRequirements,
+ IoTCheckRequirements, MCASCheckRequirements, MDATPCheckRequirements,
+ MicrosoftPurviewInformationProtectionCheckRequirements, MSTICheckRequirements,
MtpCheckRequirements, Office365ProjectCheckRequirements, OfficeATPCheckRequirements,
- OfficeIRMCheckRequirements, OfficePowerBICheckRequirements, TICheckRequirements,
- TiTaxiiCheckRequirements
+ OfficeIRMCheckRequirements, OfficePowerBICheckRequirements, PurviewAuditCheckRequirements,
+ TICheckRequirements, TiTaxiiCheckRequirements
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
"""
@@ -70,35 +67,38 @@ class DataConnectorsCheckRequirements(_serialization.Model):
"IOT": "IoTCheckRequirements",
"MicrosoftCloudAppSecurity": "MCASCheckRequirements",
"MicrosoftDefenderAdvancedThreatProtection": "MDATPCheckRequirements",
+ "MicrosoftPurviewInformationProtection": "MicrosoftPurviewInformationProtectionCheckRequirements",
"MicrosoftThreatIntelligence": "MSTICheckRequirements",
"MicrosoftThreatProtection": "MtpCheckRequirements",
"Office365Project": "Office365ProjectCheckRequirements",
"OfficeATP": "OfficeATPCheckRequirements",
"OfficeIRM": "OfficeIRMCheckRequirements",
"OfficePowerBI": "OfficePowerBICheckRequirements",
+ "PurviewAudit": "PurviewAuditCheckRequirements",
"ThreatIntelligence": "TICheckRequirements",
"ThreatIntelligenceTaxii": "TiTaxiiCheckRequirements",
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: Optional[str] = None
class AADCheckRequirements(DataConnectorsCheckRequirements):
- """Represents AAD (Azure Active Directory) requirements check request.
+ """Represents AADIP (Azure Active Directory Identity Protection) requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -113,7 +113,7 @@ class AADCheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
@@ -126,7 +126,7 @@ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
class DataConnectorTenantId(_serialization.Model):
"""Properties data connector on tenant level.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
@@ -140,7 +140,7 @@ class DataConnectorTenantId(_serialization.Model):
"tenant_id": {"key": "tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, tenant_id: str, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from. Required.
:paramtype tenant_id: str
@@ -150,37 +150,22 @@ def __init__(self, *, tenant_id: str, **kwargs):
class AADCheckRequirementsProperties(DataConnectorTenantId):
- """AAD (Azure Active Directory) requirements check properties.
+ """AADIP (Azure Active Directory Identity Protection) requirements check properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
-
class Resource(_serialization.Model):
"""Common fields that are returned in the response for all Azure Resource Manager resources.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -206,7 +191,7 @@ class Resource(_serialization.Model):
"system_data": {"key": "systemData", "type": "SystemData"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@@ -220,8 +205,8 @@ class ResourceWithEtag(Resource):
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -250,7 +235,7 @@ class ResourceWithEtag(Resource):
"etag": {"key": "etag", "type": "str"},
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -265,17 +250,18 @@ class DataConnector(ResourceWithEtag):
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
CodelessApiPollingDataConnector, AwsCloudTrailDataConnector, AwsS3DataConnector,
AADDataConnector, AATPDataConnector, ASCDataConnector, Dynamics365DataConnector,
- CodelessUiDataConnector, IoTDataConnector, MCASDataConnector, MDATPDataConnector,
- MSTIDataConnector, MTPDataConnector, OfficeDataConnector, Office365ProjectDataConnector,
- OfficeATPDataConnector, OfficeIRMDataConnector, OfficePowerBIDataConnector, TIDataConnector,
- TiTaxiiDataConnector
+ GCPDataConnector, CodelessUiDataConnector, IoTDataConnector, MCASDataConnector,
+ MDATPDataConnector, MicrosoftPurviewInformationProtectionDataConnector, MSTIDataConnector,
+ MTPDataConnector, OfficeDataConnector, Office365ProjectDataConnector, OfficeATPDataConnector,
+ OfficeIRMDataConnector, OfficePowerBIDataConnector, PurviewAuditDataConnector,
+ RestApiPollerDataConnector, TIDataConnector, TiTaxiiDataConnector
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -290,10 +276,11 @@ class DataConnector(ResourceWithEtag):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
"""
@@ -323,10 +310,12 @@ class DataConnector(ResourceWithEtag):
"AzureAdvancedThreatProtection": "AATPDataConnector",
"AzureSecurityCenter": "ASCDataConnector",
"Dynamics365": "Dynamics365DataConnector",
+ "GCP": "GCPDataConnector",
"GenericUI": "CodelessUiDataConnector",
"IOT": "IoTDataConnector",
"MicrosoftCloudAppSecurity": "MCASDataConnector",
"MicrosoftDefenderAdvancedThreatProtection": "MDATPDataConnector",
+ "MicrosoftPurviewInformationProtection": "MicrosoftPurviewInformationProtectionDataConnector",
"MicrosoftThreatIntelligence": "MSTIDataConnector",
"MicrosoftThreatProtection": "MTPDataConnector",
"Office365": "OfficeDataConnector",
@@ -334,12 +323,14 @@ class DataConnector(ResourceWithEtag):
"OfficeATP": "OfficeATPDataConnector",
"OfficeIRM": "OfficeIRMDataConnector",
"OfficePowerBI": "OfficePowerBIDataConnector",
+ "PurviewAudit": "PurviewAuditDataConnector",
+ "RestApiPoller": "RestApiPollerDataConnector",
"ThreatIntelligence": "TIDataConnector",
"ThreatIntelligenceTaxii": "TiTaxiiDataConnector",
}
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -349,14 +340,14 @@ def __init__(self, *, etag: Optional[str] = None, **kwargs):
class AADDataConnector(DataConnector):
- """Represents AAD (Azure Active Directory) data connector.
+ """Represents AADIP (Azure Active Directory Identity Protection) data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -371,10 +362,11 @@ class AADDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -407,8 +399,8 @@ def __init__(
etag: Optional[str] = None,
tenant_id: Optional[str] = None,
data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -434,7 +426,7 @@ class DataConnectorWithAlertsProperties(_serialization.Model):
"data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
}
- def __init__(self, *, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs):
+ def __init__(self, *, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any) -> None:
"""
:keyword data_types: The available data types for the connector.
:paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -444,9 +436,9 @@ def __init__(self, *, data_types: Optional["_models.AlertsDataTypeOfDataConnecto
class AADDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
- """AAD (Azure Active Directory) data connector properties.
+ """AADIP (Azure Active Directory Identity Protection) data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar data_types: The available data types for the connector.
:vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -464,8 +456,8 @@ class AADDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsP
}
def __init__(
- self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs
- ):
+ self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword data_types: The available data types for the connector.
:paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -480,15 +472,16 @@ def __init__(
class AATPCheckRequirements(DataConnectorsCheckRequirements):
"""Represents AATP (Azure Advanced Threat Protection) requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -503,7 +496,7 @@ class AATPCheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
@@ -516,37 +509,22 @@ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
class AATPCheckRequirementsProperties(DataConnectorTenantId):
"""AATP (Azure Advanced Threat Protection) requirements check properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
-
class AATPDataConnector(DataConnector):
"""Represents AATP (Azure Advanced Threat Protection) data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -561,10 +539,11 @@ class AATPDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -597,8 +576,8 @@ def __init__(
etag: Optional[str] = None,
tenant_id: Optional[str] = None,
data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -616,7 +595,7 @@ def __init__(
class AATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
"""AATP (Azure Advanced Threat Protection) data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar data_types: The available data types for the connector.
:vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -634,8 +613,8 @@ class AATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlerts
}
def __init__(
- self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs
- ):
+ self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword data_types: The available data types for the connector.
:paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -658,10 +637,10 @@ class Entity(Resource):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -675,7 +654,7 @@ class Entity(Resource):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
"""
_validation = {
@@ -721,21 +700,21 @@ class Entity(Resource):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: Optional[str] = None
-class AccountEntity(Entity): # pylint: disable=too-many-instance-attributes
+class AccountEntity(Entity):
"""Represents an account entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -749,7 +728,7 @@ class AccountEntity(Entity): # pylint: disable=too-many-instance-attributes
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -770,7 +749,7 @@ class AccountEntity(Entity): # pylint: disable=too-many-instance-attributes
:vartype host_entity_id: str
:ivar is_domain_joined: Determines whether this is a domain account.
:vartype is_domain_joined: bool
- :ivar nt_domain: The NetBIOS domain name as it appears in the alert format - domain/username.
+ :ivar nt_domain: The NetBIOS domain name as it appears in the alert format domain/username.
Examples: NT AUTHORITY.
:vartype nt_domain: str
:ivar object_guid: The objectGUID attribute is a single-value attribute that is the unique
@@ -831,7 +810,7 @@ class AccountEntity(Entity): # pylint: disable=too-many-instance-attributes
"dns_domain": {"key": "properties.dnsDomain", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "Account"
@@ -874,14 +853,14 @@ class EntityCommonProperties(_serialization.Model):
"friendly_name": {"key": "friendlyName", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.additional_data = None
self.friendly_name = None
-class AccountEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
+class AccountEntityProperties(EntityCommonProperties):
"""Account entity property bag.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -906,7 +885,7 @@ class AccountEntityProperties(EntityCommonProperties): # pylint: disable=too-ma
:vartype host_entity_id: str
:ivar is_domain_joined: Determines whether this is a domain account.
:vartype is_domain_joined: bool
- :ivar nt_domain: The NetBIOS domain name as it appears in the alert format - domain/username.
+ :ivar nt_domain: The NetBIOS domain name as it appears in the alert format domain/username.
Examples: NT AUTHORITY.
:vartype nt_domain: str
:ivar object_guid: The objectGUID attribute is a single-value attribute that is the unique
@@ -957,7 +936,7 @@ class AccountEntityProperties(EntityCommonProperties): # pylint: disable=too-ma
"dns_domain": {"key": "dnsDomain", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.aad_tenant_id = None
@@ -974,13 +953,41 @@ def __init__(self, **kwargs):
self.dns_domain = None
+class Action(_serialization.Model):
+ """Represents an action to perform on a specific system.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ LockUserAction, UnlockUserAction
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: The actions kind. Required. Known values are: "LockUser" and "UnlockUser".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ListActionKind
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ }
+
+ _subtype_map = {"kind": {"LockUser": "LockUserAction", "UnlockUser": "UnlockUserAction"}}
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: Optional[str] = None
+
+
class ActionPropertiesBase(_serialization.Model):
"""Action property bag base.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:vartype logic_app_resource_id: str
"""
@@ -993,10 +1000,10 @@ class ActionPropertiesBase(_serialization.Model):
"logic_app_resource_id": {"key": "logicAppResourceId", "type": "str"},
}
- def __init__(self, *, logic_app_resource_id: str, **kwargs):
+ def __init__(self, *, logic_app_resource_id: str, **kwargs: Any) -> None:
"""
:keyword logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:paramtype logic_app_resource_id: str
"""
@@ -1009,8 +1016,8 @@ class ActionRequest(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1023,7 +1030,7 @@ class ActionRequest(ResourceWithEtag):
:ivar etag: Etag of the azure resource.
:vartype etag: str
:ivar logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
:vartype logic_app_resource_id: str
:ivar trigger_uri: Logic App Callback URL for this specific workflow.
:vartype trigger_uri: str
@@ -1052,13 +1059,13 @@ def __init__(
etag: Optional[str] = None,
logic_app_resource_id: Optional[str] = None,
trigger_uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
:keyword logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
:paramtype logic_app_resource_id: str
:keyword trigger_uri: Logic App Callback URL for this specific workflow.
:paramtype trigger_uri: str
@@ -1071,10 +1078,10 @@ def __init__(
class ActionRequestProperties(ActionPropertiesBase):
"""Action property bag.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:vartype logic_app_resource_id: str
:ivar trigger_uri: Logic App Callback URL for this specific workflow. Required.
@@ -1091,10 +1098,10 @@ class ActionRequestProperties(ActionPropertiesBase):
"trigger_uri": {"key": "triggerUri", "type": "str"},
}
- def __init__(self, *, logic_app_resource_id: str, trigger_uri: str, **kwargs):
+ def __init__(self, *, logic_app_resource_id: str, trigger_uri: str, **kwargs: Any) -> None:
"""
:keyword logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:paramtype logic_app_resource_id: str
:keyword trigger_uri: Logic App Callback URL for this specific workflow. Required.
@@ -1109,8 +1116,8 @@ class ActionResponse(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1123,7 +1130,7 @@ class ActionResponse(ResourceWithEtag):
:ivar etag: Etag of the azure resource.
:vartype etag: str
:ivar logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
:vartype logic_app_resource_id: str
:ivar workflow_id: The name of the logic app's workflow.
:vartype workflow_id: str
@@ -1152,13 +1159,13 @@ def __init__(
etag: Optional[str] = None,
logic_app_resource_id: Optional[str] = None,
workflow_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
:keyword logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
:paramtype logic_app_resource_id: str
:keyword workflow_id: The name of the logic app's workflow.
:paramtype workflow_id: str
@@ -1171,10 +1178,10 @@ def __init__(
class ActionResponseProperties(ActionPropertiesBase):
"""Action property bag.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:vartype logic_app_resource_id: str
:ivar workflow_id: The name of the logic app's workflow.
@@ -1190,10 +1197,10 @@ class ActionResponseProperties(ActionPropertiesBase):
"workflow_id": {"key": "workflowId", "type": "str"},
}
- def __init__(self, *, logic_app_resource_id: str, workflow_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, logic_app_resource_id: str, workflow_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword logic_app_resource_id: Logic App Resource Id,
- /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.
+ /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}. # pylint: disable=line-too-long
Required.
:paramtype logic_app_resource_id: str
:keyword workflow_id: The name of the logic app's workflow.
@@ -1208,7 +1215,7 @@ class ActionsList(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar next_link: URL to fetch the next set of actions.
:vartype next_link: str
@@ -1226,7 +1233,7 @@ class ActionsList(_serialization.Model):
"value": {"key": "value", "type": "[ActionResponse]"},
}
- def __init__(self, *, value: List["_models.ActionResponse"], **kwargs):
+ def __init__(self, *, value: List["_models.ActionResponse"], **kwargs: Any) -> None:
"""
:keyword value: Array of actions. Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.ActionResponse]
@@ -1244,10 +1251,10 @@ class CustomEntityQuery(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1282,7 +1289,7 @@ class CustomEntityQuery(ResourceWithEtag):
_subtype_map = {"kind": {"Activity": "ActivityCustomEntityQuery"}}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -1291,15 +1298,15 @@ def __init__(self, *, etag: Optional[str] = None, **kwargs):
self.kind: Optional[str] = None
-class ActivityCustomEntityQuery(CustomEntityQuery): # pylint: disable=too-many-instance-attributes
+class ActivityCustomEntityQuery(CustomEntityQuery):
"""Represents Activity entity query.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1389,8 +1396,8 @@ def __init__(
entities_filter: Optional[Dict[str, List[str]]] = None,
template_name: Optional[str] = None,
enabled: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -1434,7 +1441,7 @@ def __init__(
self.last_modified_time_utc = None
-class ActivityEntityQueriesPropertiesQueryDefinitions(_serialization.Model):
+class ActivityEntityQueriesPropertiesQueryDefinitions(_serialization.Model): # pylint: disable=name-too-long
"""The Activity query definitions.
:ivar query: The Activity query to run on a given entity.
@@ -1445,7 +1452,7 @@ class ActivityEntityQueriesPropertiesQueryDefinitions(_serialization.Model):
"query": {"key": "query", "type": "str"},
}
- def __init__(self, *, query: Optional[str] = None, **kwargs):
+ def __init__(self, *, query: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword query: The Activity query to run on a given entity.
:paramtype query: str
@@ -1462,10 +1469,10 @@ class EntityQuery(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1501,7 +1508,7 @@ class EntityQuery(ResourceWithEtag):
_subtype_map = {"kind": {"Activity": "ActivityEntityQuery", "Expansion": "ExpansionEntityQuery"}}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -1510,15 +1517,15 @@ def __init__(self, *, etag: Optional[str] = None, **kwargs):
self.kind: Optional[str] = None
-class ActivityEntityQuery(EntityQuery): # pylint: disable=too-many-instance-attributes
+class ActivityEntityQuery(EntityQuery):
"""Represents Activity entity query.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1609,8 +1616,8 @@ def __init__(
entities_filter: Optional[Dict[str, List[str]]] = None,
template_name: Optional[str] = None,
enabled: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -1662,10 +1669,10 @@ class EntityQueryTemplate(Resource):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1675,7 +1682,8 @@ class EntityQueryTemplate(Resource):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: the entity query template kind. Required. "Activity"
+ :ivar kind: the entity query template kind. Required. Known values are: "Activity", "Insight",
+ "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly".
:vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
"""
@@ -1697,21 +1705,21 @@ class EntityQueryTemplate(Resource):
_subtype_map = {"kind": {"Activity": "ActivityEntityQueryTemplate"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: Optional[str] = None
-class ActivityEntityQueryTemplate(EntityQueryTemplate): # pylint: disable=too-many-instance-attributes
+class ActivityEntityQueryTemplate(EntityQueryTemplate):
"""Represents Activity entity query.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -1721,7 +1729,8 @@ class ActivityEntityQueryTemplate(EntityQueryTemplate): # pylint: disable=too-m
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: the entity query template kind. Required. "Activity"
+ :ivar kind: the entity query template kind. Required. Known values are: "Activity", "Insight",
+ "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly".
:vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
:ivar title: The entity query title.
:vartype title: str
@@ -1785,8 +1794,8 @@ def __init__(
input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
required_input_fields_sets: Optional[List[List[str]]] = None,
entities_filter: Optional[Dict[str, List[str]]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword title: The entity query title.
:paramtype title: str
@@ -1823,7 +1832,7 @@ def __init__(
self.entities_filter = entities_filter
-class ActivityEntityQueryTemplatePropertiesQueryDefinitions(_serialization.Model):
+class ActivityEntityQueryTemplatePropertiesQueryDefinitions(_serialization.Model): # pylint: disable=name-too-long
"""The Activity query definitions.
:ivar query: The Activity query to run on a given entity.
@@ -1838,7 +1847,7 @@ class ActivityEntityQueryTemplatePropertiesQueryDefinitions(_serialization.Model
"summarize_by": {"key": "summarizeBy", "type": "str"},
}
- def __init__(self, *, query: Optional[str] = None, summarize_by: Optional[str] = None, **kwargs):
+ def __init__(self, *, query: Optional[str] = None, summarize_by: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword query: The Activity query to run on a given entity.
:paramtype query: str
@@ -1857,7 +1866,7 @@ class EntityTimelineItem(_serialization.Model):
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
ActivityTimelineItem, AnomalyTimelineItem, BookmarkTimelineItem, SecurityAlertTimelineItem
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: The entity query kind type. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -1881,7 +1890,7 @@ class EntityTimelineItem(_serialization.Model):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: Optional[str] = None
@@ -1890,7 +1899,7 @@ def __init__(self, **kwargs):
class ActivityTimelineItem(EntityTimelineItem):
"""Represents Activity timeline item.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: The entity query kind type. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -1943,8 +1952,8 @@ def __init__(
last_activity_time_utc: datetime.datetime,
content: str,
title: str,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword query_id: The activity query id. Required.
:paramtype query_id: str
@@ -1977,7 +1986,7 @@ def __init__(
class AddIncidentTaskActionProperties(_serialization.Model):
"""AddIncidentTaskActionProperties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar title: The title of the task. Required.
:vartype title: str
@@ -1994,7 +2003,7 @@ class AddIncidentTaskActionProperties(_serialization.Model):
"description": {"key": "description", "type": "str"},
}
- def __init__(self, *, title: str, description: Optional[str] = None, **kwargs):
+ def __init__(self, *, title: str, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword title: The title of the task. Required.
:paramtype title: str
@@ -2006,6 +2015,62 @@ def __init__(self, *, title: str, description: Optional[str] = None, **kwargs):
self.description = description
+class AgentConfiguration(_serialization.Model):
+ """Describes the configuration of a Business Application Agent.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ SapAgentConfiguration
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: Type of the agent. Required. "SAP"
+ :vartype type: str or ~azure.mgmt.securityinsight.models.AgentType
+ """
+
+ _validation = {
+ "type": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ }
+
+ _subtype_map = {"type": {"SAP": "SapAgentConfiguration"}}
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.type: Optional[str] = None
+
+
+class AgentSystem(_serialization.Model):
+ """Describes the configuration of a system inside the agent.
+
+ :ivar system_resource_name:
+ :vartype system_resource_name: str
+ :ivar system_display_name:
+ :vartype system_display_name: str
+ """
+
+ _attribute_map = {
+ "system_resource_name": {"key": "systemResourceName", "type": "str"},
+ "system_display_name": {"key": "systemDisplayName", "type": "str"},
+ }
+
+ def __init__(
+ self, *, system_resource_name: Optional[str] = None, system_display_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword system_resource_name:
+ :paramtype system_resource_name: str
+ :keyword system_display_name:
+ :paramtype system_display_name: str
+ """
+ super().__init__(**kwargs)
+ self.system_resource_name = system_resource_name
+ self.system_display_name = system_display_name
+
+
class AlertDetailsOverride(_serialization.Model):
"""Settings for how to dynamically override alert static details.
@@ -2040,8 +2105,8 @@ def __init__(
alert_tactics_column_name: Optional[str] = None,
alert_severity_column_name: Optional[str] = None,
alert_dynamic_properties: Optional[List["_models.AlertPropertyMapping"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_display_name_format: the format containing columns name(s) to override the alert
name.
@@ -2070,7 +2135,7 @@ class AlertPropertyMapping(_serialization.Model):
:ivar alert_property: The V3 alert property. Known values are: "AlertLink", "ConfidenceLevel",
"ConfidenceScore", "ExtendedLinks", "ProductName", "ProviderName", "ProductComponentName",
- "RemediationSteps", and "Techniques".
+ "RemediationSteps", "Techniques", and "SubTechniques".
:vartype alert_property: str or ~azure.mgmt.securityinsight.models.AlertProperty
:ivar value: the column name to use to override this property.
:vartype value: str
@@ -2086,12 +2151,12 @@ def __init__(
*,
alert_property: Optional[Union[str, "_models.AlertProperty"]] = None,
value: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_property: The V3 alert property. Known values are: "AlertLink",
"ConfidenceLevel", "ConfidenceScore", "ExtendedLinks", "ProductName", "ProviderName",
- "ProductComponentName", "RemediationSteps", and "Techniques".
+ "ProductComponentName", "RemediationSteps", "Techniques", and "SubTechniques".
:paramtype alert_property: str or ~azure.mgmt.securityinsight.models.AlertProperty
:keyword value: the column name to use to override this property.
:paramtype value: str
@@ -2110,10 +2175,10 @@ class AlertRule(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2159,7 +2224,7 @@ class AlertRule(ResourceWithEtag):
}
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -2173,7 +2238,7 @@ class AlertRulesList(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar next_link: URL to fetch the next set of alert rules.
:vartype next_link: str
@@ -2191,7 +2256,7 @@ class AlertRulesList(_serialization.Model):
"value": {"key": "value", "type": "[AlertRule]"},
}
- def __init__(self, *, value: List["_models.AlertRule"], **kwargs):
+ def __init__(self, *, value: List["_models.AlertRule"], **kwargs: Any) -> None:
"""
:keyword value: Array of alert rules. Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.AlertRule]
@@ -2211,10 +2276,10 @@ class AlertRuleTemplate(Resource):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2257,7 +2322,7 @@ class AlertRuleTemplate(Resource):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: Optional[str] = None
@@ -2277,7 +2342,9 @@ class AlertRuleTemplateDataSource(_serialization.Model):
"data_types": {"key": "dataTypes", "type": "[str]"},
}
- def __init__(self, *, connector_id: Optional[str] = None, data_types: Optional[List[str]] = None, **kwargs):
+ def __init__(
+ self, *, connector_id: Optional[str] = None, data_types: Optional[List[str]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword connector_id: The connector id that provides the following data types.
:paramtype connector_id: str
@@ -2336,8 +2403,8 @@ def __init__(
display_name: Optional[str] = None,
required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -2368,7 +2435,7 @@ class AlertRuleTemplatesList(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar next_link: URL to fetch the next set of alert rule templates.
:vartype next_link: str
@@ -2386,7 +2453,7 @@ class AlertRuleTemplatesList(_serialization.Model):
"value": {"key": "value", "type": "[AlertRuleTemplate]"},
}
- def __init__(self, *, value: List["_models.AlertRuleTemplate"], **kwargs):
+ def __init__(self, *, value: List["_models.AlertRuleTemplate"], **kwargs: Any) -> None:
"""
:keyword value: Array of alert rule templates. Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.AlertRuleTemplate]
@@ -2451,8 +2518,8 @@ def __init__(
status: Optional[Union[str, "_models.TemplateStatus"]] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -2487,7 +2554,7 @@ def __init__(
class AlertsDataTypeOfDataConnector(_serialization.Model):
"""Alerts data type for data connectors.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar alerts: Alerts data type connection. Required.
:vartype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
@@ -2501,7 +2568,7 @@ class AlertsDataTypeOfDataConnector(_serialization.Model):
"alerts": {"key": "alerts", "type": "DataConnectorDataTypeCommon"},
}
- def __init__(self, *, alerts: "_models.DataConnectorDataTypeCommon", **kwargs):
+ def __init__(self, *, alerts: "_models.DataConnectorDataTypeCommon", **kwargs: Any) -> None:
"""
:keyword alerts: Alerts data type connection. Required.
:paramtype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
@@ -2510,6 +2577,32 @@ def __init__(self, *, alerts: "_models.DataConnectorDataTypeCommon", **kwargs):
self.alerts = alerts
+class AnalyticsRuleRunTrigger(_serialization.Model):
+ """Analytics Rule Run Trigger request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar execution_time_utc: Required.
+ :vartype execution_time_utc: ~datetime.datetime
+ """
+
+ _validation = {
+ "execution_time_utc": {"required": True},
+ }
+
+ _attribute_map = {
+ "execution_time_utc": {"key": "properties.executionTimeUtc", "type": "iso-8601"},
+ }
+
+ def __init__(self, *, execution_time_utc: datetime.datetime, **kwargs: Any) -> None:
+ """
+ :keyword execution_time_utc: Required.
+ :paramtype execution_time_utc: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.execution_time_utc = execution_time_utc
+
+
class Settings(ResourceWithEtag):
"""The Setting.
@@ -2518,10 +2611,10 @@ class Settings(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2559,7 +2652,7 @@ class Settings(ResourceWithEtag):
"kind": {"Anomalies": "Anomalies", "EntityAnalytics": "EntityAnalytics", "EyesOn": "EyesOn", "Ueba": "Ueba"}
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -2573,10 +2666,10 @@ class Anomalies(Settings):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2614,7 +2707,7 @@ class Anomalies(Settings):
"is_enabled": {"key": "properties.isEnabled", "type": "bool"},
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -2632,10 +2725,10 @@ class SecurityMLAnalyticsSetting(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2670,7 +2763,7 @@ class SecurityMLAnalyticsSetting(ResourceWithEtag):
_subtype_map = {"kind": {"Anomaly": "AnomalySecurityMLAnalyticsSettings"}}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -2679,15 +2772,15 @@ def __init__(self, *, etag: Optional[str] = None, **kwargs):
self.kind: Optional[str] = None
-class AnomalySecurityMLAnalyticsSettings(SecurityMLAnalyticsSetting): # pylint: disable=too-many-instance-attributes
+class AnomalySecurityMLAnalyticsSettings(SecurityMLAnalyticsSetting):
"""Represents Anomaly Security ML Analytics Settings.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -2788,8 +2881,8 @@ def __init__(
is_default_settings: Optional[bool] = None,
anomaly_settings_version: Optional[int] = None,
settings_definition_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -2845,10 +2938,10 @@ def __init__(
self.settings_definition_id = settings_definition_id
-class AnomalyTimelineItem(EntityTimelineItem): # pylint: disable=too-many-instance-attributes
+class AnomalyTimelineItem(EntityTimelineItem):
"""Represents anomaly timeline item.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: The entity query kind type. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -2915,8 +3008,8 @@ def __init__(
intent: Optional[str] = None,
techniques: Optional[List[str]] = None,
reasons: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword azure_resource_id: The anomaly azure resource id. Required.
:paramtype azure_resource_id: str
@@ -2956,18 +3049,124 @@ def __init__(
self.reasons = reasons
+class CcpAuthConfig(_serialization.Model):
+ """Base Model for API authentication.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ ApiKeyAuthModel, AWSAuthModel, BasicAuthModel, GCPAuthModel, GitHubAuthModel, JwtAuthModel,
+ NoneAuthModel, OAuthModel, OracleAuthModel, GenericBlobSbsAuthModel, SessionAuthModel
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ """
+
+ _validation = {
+ "type": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ }
+
+ _subtype_map = {
+ "type": {
+ "APIKey": "ApiKeyAuthModel",
+ "AWS": "AWSAuthModel",
+ "Basic": "BasicAuthModel",
+ "GCP": "GCPAuthModel",
+ "GitHub": "GitHubAuthModel",
+ "JwtToken": "JwtAuthModel",
+ "None": "NoneAuthModel",
+ "OAuth2": "OAuthModel",
+ "Oracle": "OracleAuthModel",
+ "ServiceBus": "GenericBlobSbsAuthModel",
+ "Session": "SessionAuthModel",
+ }
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.type: Optional[str] = None
+
+
+class ApiKeyAuthModel(CcpAuthConfig):
+ """Model for authentication with the API Key. Will result in additional header on the request
+ (default behavior) to the remote server: 'ApiKeyName: ApiKeyIdentifier ApiKey'. If
+ 'IsApiKeyInPostPayload' is true it will send it in the body of the request and not the header.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar api_key: API Key for the user secret key credential. Required.
+ :vartype api_key: str
+ :ivar api_key_name: API Key name. Required.
+ :vartype api_key_name: str
+ :ivar api_key_identifier: API Key Identifier.
+ :vartype api_key_identifier: str
+ :ivar is_api_key_in_post_payload: Flag to indicate if API key is set in HTTP POST payload.
+ :vartype is_api_key_in_post_payload: bool
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "api_key": {"required": True},
+ "api_key_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "api_key": {"key": "apiKey", "type": "str"},
+ "api_key_name": {"key": "apiKeyName", "type": "str"},
+ "api_key_identifier": {"key": "apiKeyIdentifier", "type": "str"},
+ "is_api_key_in_post_payload": {"key": "isApiKeyInPostPayload", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ api_key: str,
+ api_key_name: str,
+ api_key_identifier: Optional[str] = None,
+ is_api_key_in_post_payload: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword api_key: API Key for the user secret key credential. Required.
+ :paramtype api_key: str
+ :keyword api_key_name: API Key name. Required.
+ :paramtype api_key_name: str
+ :keyword api_key_identifier: API Key Identifier.
+ :paramtype api_key_identifier: str
+ :keyword is_api_key_in_post_payload: Flag to indicate if API key is set in HTTP POST payload.
+ :paramtype is_api_key_in_post_payload: bool
+ """
+ super().__init__(**kwargs)
+ self.type: str = "APIKey"
+ self.api_key = api_key
+ self.api_key_name = api_key_name
+ self.api_key_identifier = api_key_identifier
+ self.is_api_key_in_post_payload = is_api_key_in_post_payload
+
+
class ASCCheckRequirements(DataConnectorsCheckRequirements):
"""Represents ASC (Azure Security Center) requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar subscription_id: The subscription id to connect to, and get the data from.
:vartype subscription_id: str
@@ -2982,7 +3181,7 @@ class ASCCheckRequirements(DataConnectorsCheckRequirements):
"subscription_id": {"key": "properties.subscriptionId", "type": "str"},
}
- def __init__(self, *, subscription_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, subscription_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword subscription_id: The subscription id to connect to, and get the data from.
:paramtype subscription_id: str
@@ -2997,10 +3196,10 @@ class ASCDataConnector(DataConnector):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -3015,10 +3214,11 @@ class ASCDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar data_types: The available data types for the connector.
:vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -3051,8 +3251,8 @@ def __init__(
etag: Optional[str] = None,
data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
subscription_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -3086,8 +3286,8 @@ def __init__(
*,
data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
subscription_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword data_types: The available data types for the connector.
:paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
@@ -3098,15 +3298,38 @@ def __init__(
self.subscription_id = subscription_id
-class AutomationRule(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """AutomationRule.
+class AssignmentItem(_serialization.Model):
+ """An entity describing a content item.
+
+ :ivar resource_id: The resource id of the content item.
+ :vartype resource_id: str
+ """
+
+ _attribute_map = {
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(self, *, resource_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword resource_id: The resource id of the content item.
+ :paramtype resource_id: str
+ """
+ super().__init__(**kwargs)
+ self.resource_id = resource_id
+
+
+class TIObject(Resource):
+ """Represents a threat intelligence object in Azure Security Insights.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ AttackPattern, Identity, Indicator, Relationship, ThreatActor
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -3116,24 +3339,34 @@ class AutomationRule(ResourceWithEtag): # pylint: disable=too-many-instance-att
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar display_name: The display name of the automation rule. Required.
- :vartype display_name: str
- :ivar order: The order of execution of the automation rule. Required.
- :vartype order: int
- :ivar triggering_logic: Describes automation rule triggering logic. Required.
- :vartype triggering_logic: ~azure.mgmt.securityinsight.models.AutomationRuleTriggeringLogic
- :ivar actions: The actions to execute when the automation rule is triggered. Required.
- :vartype actions: list[~azure.mgmt.securityinsight.models.AutomationRuleAction]
- :ivar last_modified_time_utc: The last time the automation rule was updated.
- :vartype last_modified_time_utc: ~datetime.datetime
- :ivar created_time_utc: The time the automation rule was created.
- :vartype created_time_utc: ~datetime.datetime
- :ivar last_modified_by: Information on the client (user or application) that made some action.
- :vartype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
- :ivar created_by: Information on the client (user or application) that made some action.
- :vartype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
+ :vartype source: str
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
"""
_validation = {
@@ -3141,14 +3374,17 @@ class AutomationRule(ResourceWithEtag): # pylint: disable=too-many-instance-att
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "display_name": {"required": True, "max_length": 500},
- "order": {"required": True, "maximum": 1000, "minimum": 1},
- "triggering_logic": {"required": True},
- "actions": {"required": True, "max_items": 20, "min_items": 0},
- "last_modified_time_utc": {"readonly": True},
- "created_time_utc": {"readonly": True},
- "last_modified_by": {"readonly": True},
+ "kind": {"required": True},
+ "data": {"readonly": True},
"created_by": {"readonly": True},
+ "source": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
}
_attribute_map = {
@@ -3156,58 +3392,245 @@ class AutomationRule(ResourceWithEtag): # pylint: disable=too-many-instance-att
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "order": {"key": "properties.order", "type": "int"},
- "triggering_logic": {"key": "properties.triggeringLogic", "type": "AutomationRuleTriggeringLogic"},
- "actions": {"key": "properties.actions", "type": "[AutomationRuleAction]"},
- "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
- "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
- "last_modified_by": {"key": "properties.lastModifiedBy", "type": "ClientInfo"},
- "created_by": {"key": "properties.createdBy", "type": "ClientInfo"},
+ "kind": {"key": "kind", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "source": {"key": "properties.source", "type": "str"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
}
- def __init__(
- self,
- *,
- display_name: str,
- order: int,
- triggering_logic: "_models.AutomationRuleTriggeringLogic",
- actions: List["_models.AutomationRuleAction"],
- etag: Optional[str] = None,
- **kwargs
- ):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword display_name: The display name of the automation rule. Required.
- :paramtype display_name: str
- :keyword order: The order of execution of the automation rule. Required.
- :paramtype order: int
- :keyword triggering_logic: Describes automation rule triggering logic. Required.
- :paramtype triggering_logic: ~azure.mgmt.securityinsight.models.AutomationRuleTriggeringLogic
- :keyword actions: The actions to execute when the automation rule is triggered. Required.
- :paramtype actions: list[~azure.mgmt.securityinsight.models.AutomationRuleAction]
- """
- super().__init__(etag=etag, **kwargs)
- self.display_name = display_name
- self.order = order
- self.triggering_logic = triggering_logic
- self.actions = actions
- self.last_modified_time_utc = None
- self.created_time_utc = None
- self.last_modified_by = None
+ _subtype_map = {
+ "kind": {
+ "AttackPattern": "AttackPattern",
+ "Identity": "Identity",
+ "Indicator": "Indicator",
+ "Relationship": "Relationship",
+ "ThreatActor": "ThreatActor",
+ }
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: Optional[str] = None
+ self.data = None
self.created_by = None
+ self.source = None
+ self.first_ingested_time_utc = None
+ self.last_ingested_time_utc = None
+ self.ingestion_rules_version = None
+ self.last_update_method = None
+ self.last_modified_by = None
+ self.last_updated_date_time_utc = None
+ self.relationship_hints = None
-class AutomationRuleAction(_serialization.Model):
- """Describes an automation rule action.
+class AttackPattern(TIObject):
+ """Represents an attack pattern in Azure Security Insights.
- You probably want to use the sub-classes and not this class directly. Known sub-classes are:
- AutomationRuleAddIncidentTaskAction, AutomationRuleModifyPropertiesAction,
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
+ :vartype source: str
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "data": {"readonly": True},
+ "created_by": {"readonly": True},
+ "source": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "source": {"key": "properties.source", "type": "str"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "AttackPattern"
+
+
+class AutomationRule(ResourceWithEtag):
+ """AutomationRule.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar display_name: The display name of the automation rule. Required.
+ :vartype display_name: str
+ :ivar order: The order of execution of the automation rule. Required.
+ :vartype order: int
+ :ivar triggering_logic: Describes automation rule triggering logic. Required.
+ :vartype triggering_logic: ~azure.mgmt.securityinsight.models.AutomationRuleTriggeringLogic
+ :ivar actions: The actions to execute when the automation rule is triggered. Required.
+ :vartype actions: list[~azure.mgmt.securityinsight.models.AutomationRuleAction]
+ :ivar last_modified_time_utc: The last time the automation rule was updated.
+ :vartype last_modified_time_utc: ~datetime.datetime
+ :ivar created_time_utc: The time the automation rule was created.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar last_modified_by: Information on the client (user or application) that made some action.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ :ivar created_by: Information on the client (user or application) that made some action.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "display_name": {"required": True, "max_length": 500},
+ "order": {"required": True, "maximum": 1000, "minimum": 1},
+ "triggering_logic": {"required": True},
+ "actions": {"required": True, "max_items": 20, "min_items": 0},
+ "last_modified_time_utc": {"readonly": True},
+ "created_time_utc": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "created_by": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "order": {"key": "properties.order", "type": "int"},
+ "triggering_logic": {"key": "properties.triggeringLogic", "type": "AutomationRuleTriggeringLogic"},
+ "actions": {"key": "properties.actions", "type": "[AutomationRuleAction]"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "ClientInfo"},
+ "created_by": {"key": "properties.createdBy", "type": "ClientInfo"},
+ }
+
+ def __init__(
+ self,
+ *,
+ display_name: str,
+ order: int,
+ triggering_logic: "_models.AutomationRuleTriggeringLogic",
+ actions: List["_models.AutomationRuleAction"],
+ etag: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword display_name: The display name of the automation rule. Required.
+ :paramtype display_name: str
+ :keyword order: The order of execution of the automation rule. Required.
+ :paramtype order: int
+ :keyword triggering_logic: Describes automation rule triggering logic. Required.
+ :paramtype triggering_logic: ~azure.mgmt.securityinsight.models.AutomationRuleTriggeringLogic
+ :keyword actions: The actions to execute when the automation rule is triggered. Required.
+ :paramtype actions: list[~azure.mgmt.securityinsight.models.AutomationRuleAction]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.display_name = display_name
+ self.order = order
+ self.triggering_logic = triggering_logic
+ self.actions = actions
+ self.last_modified_time_utc = None
+ self.created_time_utc = None
+ self.last_modified_by = None
+ self.created_by = None
+
+
+class AutomationRuleAction(_serialization.Model):
+ """Describes an automation rule action.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ AutomationRuleAddIncidentTaskAction, AutomationRuleModifyPropertiesAction,
AutomationRuleRunPlaybookAction
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar order: Required.
:vartype order: int
@@ -3234,7 +3657,7 @@ class AutomationRuleAction(_serialization.Model):
}
}
- def __init__(self, *, order: int, **kwargs):
+ def __init__(self, *, order: int, **kwargs: Any) -> None:
"""
:keyword order: Required.
:paramtype order: int
@@ -3247,7 +3670,7 @@ def __init__(self, *, order: int, **kwargs):
class AutomationRuleAddIncidentTaskAction(AutomationRuleAction):
"""Describes an automation rule action to add a task to an incident.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar order: Required.
:vartype order: int
@@ -3271,8 +3694,12 @@ class AutomationRuleAddIncidentTaskAction(AutomationRuleAction):
}
def __init__(
- self, *, order: int, action_configuration: Optional["_models.AddIncidentTaskActionProperties"] = None, **kwargs
- ):
+ self,
+ *,
+ order: int,
+ action_configuration: Optional["_models.AddIncidentTaskActionProperties"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword order: Required.
:paramtype order: int
@@ -3288,7 +3715,7 @@ def __init__(
class AutomationRuleBooleanCondition(_serialization.Model):
"""AutomationRuleBooleanCondition.
- :ivar operator: Known values are: "And" and "Or".
+ :ivar operator: Known values are: "And", "Or", "And", and "Or".
:vartype operator: str or
~azure.mgmt.securityinsight.models.AutomationRuleBooleanConditionSupportedOperator
:ivar inner_conditions:
@@ -3309,10 +3736,10 @@ def __init__(
*,
operator: Optional[Union[str, "_models.AutomationRuleBooleanConditionSupportedOperator"]] = None,
inner_conditions: Optional[List["_models.AutomationRuleCondition"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
- :keyword operator: Known values are: "And" and "Or".
+ :keyword operator: Known values are: "And", "Or", "And", and "Or".
:paramtype operator: str or
~azure.mgmt.securityinsight.models.AutomationRuleBooleanConditionSupportedOperator
:keyword inner_conditions:
@@ -3330,7 +3757,7 @@ class AutomationRuleCondition(_serialization.Model):
BooleanConditionProperties, PropertyConditionProperties, PropertyArrayConditionProperties,
PropertyArrayChangedConditionProperties, PropertyChangedConditionProperties
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar condition_type: Required. Known values are: "Property", "PropertyArray",
"PropertyChanged", "PropertyArrayChanged", and "Boolean".
@@ -3355,7 +3782,7 @@ class AutomationRuleCondition(_serialization.Model):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.condition_type: Optional[str] = None
@@ -3364,7 +3791,7 @@ def __init__(self, **kwargs):
class AutomationRuleModifyPropertiesAction(AutomationRuleAction):
"""Describes an automation rule action to modify an object's properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar order: Required.
:vartype order: int
@@ -3387,8 +3814,8 @@ class AutomationRuleModifyPropertiesAction(AutomationRuleAction):
}
def __init__(
- self, *, order: int, action_configuration: Optional["_models.IncidentPropertiesAction"] = None, **kwargs
- ):
+ self, *, order: int, action_configuration: Optional["_models.IncidentPropertiesAction"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword order: Required.
:paramtype order: int
@@ -3400,7 +3827,7 @@ def __init__(
self.action_configuration = action_configuration
-class AutomationRulePropertyArrayChangedValuesCondition(_serialization.Model):
+class AutomationRulePropertyArrayChangedValuesCondition(_serialization.Model): # pylint: disable=name-too-long
"""AutomationRulePropertyArrayChangedValuesCondition.
:ivar array_type: Known values are: "Alerts", "Labels", "Tactics", and "Comments".
@@ -3425,8 +3852,8 @@ def __init__(
change_type: Optional[
Union[str, "_models.AutomationRulePropertyArrayChangedConditionSupportedChangeType"]
] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword array_type: Known values are: "Alerts", "Labels", "Tactics", and "Comments".
:paramtype array_type: str or
@@ -3440,13 +3867,14 @@ def __init__(
self.change_type = change_type
-class AutomationRulePropertyArrayValuesCondition(_serialization.Model):
+class AutomationRulePropertyArrayValuesCondition(_serialization.Model): # pylint: disable=name-too-long
"""AutomationRulePropertyArrayValuesCondition.
- :ivar array_type: Known values are: "CustomDetails" and "CustomDetailValues".
+ :ivar array_type: Known values are: "CustomDetails", "CustomDetailValues", and
+ "IncidentLabels".
:vartype array_type: str or
~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayConditionSupportedArrayType
- :ivar array_condition_type: "AnyItem"
+ :ivar array_condition_type: Known values are: "AnyItem" and "AllItems".
:vartype array_condition_type: str or
~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayConditionSupportedArrayConditionType
:ivar item_conditions:
@@ -3471,13 +3899,14 @@ def __init__(
Union[str, "_models.AutomationRulePropertyArrayConditionSupportedArrayConditionType"]
] = None,
item_conditions: Optional[List["_models.AutomationRuleCondition"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
- :keyword array_type: Known values are: "CustomDetails" and "CustomDetailValues".
+ :keyword array_type: Known values are: "CustomDetails", "CustomDetailValues", and
+ "IncidentLabels".
:paramtype array_type: str or
~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayConditionSupportedArrayType
- :keyword array_condition_type: "AnyItem"
+ :keyword array_condition_type: Known values are: "AnyItem" and "AllItems".
:paramtype array_condition_type: str or
~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayConditionSupportedArrayConditionType
:keyword item_conditions:
@@ -3489,7 +3918,7 @@ def __init__(
self.item_conditions = item_conditions
-class AutomationRulePropertyValuesChangedCondition(_serialization.Model):
+class AutomationRulePropertyValuesChangedCondition(_serialization.Model): # pylint: disable=name-too-long
"""AutomationRulePropertyValuesChangedCondition.
:ivar property_name: Known values are: "IncidentSeverity", "IncidentStatus", and
@@ -3523,8 +3952,8 @@ def __init__(
change_type: Optional[Union[str, "_models.AutomationRulePropertyChangedConditionSupportedChangedType"]] = None,
operator: Optional[Union[str, "_models.AutomationRulePropertyConditionSupportedOperator"]] = None,
property_values: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword property_name: Known values are: "IncidentSeverity", "IncidentStatus", and
"IncidentOwner".
@@ -3588,8 +4017,8 @@ def __init__(
property_name: Optional[Union[str, "_models.AutomationRulePropertyConditionSupportedProperty"]] = None,
operator: Optional[Union[str, "_models.AutomationRulePropertyConditionSupportedOperator"]] = None,
property_values: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword property_name: The property to evaluate in an automation rule property condition.
Known values are: "IncidentTitle", "IncidentDescription", "IncidentSeverity", "IncidentStatus",
@@ -3625,7 +4054,7 @@ def __init__(
class AutomationRuleRunPlaybookAction(AutomationRuleAction):
"""Describes an automation rule action to run a playbook.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar order: Required.
:vartype order: int
@@ -3648,8 +4077,8 @@ class AutomationRuleRunPlaybookAction(AutomationRuleAction):
}
def __init__(
- self, *, order: int, action_configuration: Optional["_models.PlaybookActionProperties"] = None, **kwargs
- ):
+ self, *, order: int, action_configuration: Optional["_models.PlaybookActionProperties"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword order: Required.
:paramtype order: int
@@ -3676,8 +4105,8 @@ class AutomationRulesList(_serialization.Model):
}
def __init__(
- self, *, value: Optional[List["_models.AutomationRule"]] = None, next_link: Optional[str] = None, **kwargs
- ):
+ self, *, value: Optional[List["_models.AutomationRule"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.securityinsight.models.AutomationRule]
@@ -3692,7 +4121,7 @@ def __init__(
class AutomationRuleTriggeringLogic(_serialization.Model):
"""Describes automation rule triggering logic.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar is_enabled: Determines whether the automation rule is enabled or disabled. Required.
:vartype is_enabled: bool
@@ -3731,8 +4160,8 @@ def __init__(
triggers_when: Union[str, "_models.TriggersWhen"],
expiration_time_utc: Optional[datetime.datetime] = None,
conditions: Optional[List["_models.AutomationRuleCondition"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword is_enabled: Determines whether the automation rule is enabled or disabled. Required.
:paramtype is_enabled: bool
@@ -3769,7 +4198,9 @@ class Availability(_serialization.Model):
"is_preview": {"key": "isPreview", "type": "bool"},
}
- def __init__(self, *, status: Optional[Literal[1]] = None, is_preview: Optional[bool] = None, **kwargs):
+ def __init__(
+ self, *, status: Optional[Literal[1]] = None, is_preview: Optional[bool] = None, **kwargs: Any
+ ) -> None:
"""
:keyword status: The connector Availability Status. Default value is 1.
:paramtype status: int
@@ -3781,18 +4212,59 @@ def __init__(self, *, status: Optional[Literal[1]] = None, is_preview: Optional[
self.is_preview = is_preview
+class AWSAuthModel(CcpAuthConfig):
+ """Model for API authentication with AWS.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar role_arn: AWS STS assume role ARN. Required.
+ :vartype role_arn: str
+ :ivar external_id: AWS STS assume role external ID. This is used to prevent the confused deputy
+ problem: 'https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html'.
+ :vartype external_id: str
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "role_arn": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "role_arn": {"key": "roleArn", "type": "str"},
+ "external_id": {"key": "externalId", "type": "str"},
+ }
+
+ def __init__(self, *, role_arn: str, external_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword role_arn: AWS STS assume role ARN. Required.
+ :paramtype role_arn: str
+ :keyword external_id: AWS STS assume role external ID. This is used to prevent the confused
+ deputy problem: 'https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html'.
+ :paramtype external_id: str
+ """
+ super().__init__(**kwargs)
+ self.type: str = "AWS"
+ self.role_arn = role_arn
+ self.external_id = external_id
+
+
class AwsCloudTrailCheckRequirements(DataConnectorsCheckRequirements):
"""Amazon Web Services CloudTrail requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
"""
@@ -3804,7 +4276,7 @@ class AwsCloudTrailCheckRequirements(DataConnectorsCheckRequirements):
"kind": {"key": "kind", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "AmazonWebServicesCloudTrail"
@@ -3815,10 +4287,10 @@ class AwsCloudTrailDataConnector(DataConnector):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -3833,10 +4305,11 @@ class AwsCloudTrailDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar aws_role_arn: The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access
the Aws account.
@@ -3870,8 +4343,8 @@ def __init__(
etag: Optional[str] = None,
aws_role_arn: Optional[str] = None,
data_types: Optional["_models.AwsCloudTrailDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -3890,7 +4363,7 @@ def __init__(
class AwsCloudTrailDataConnectorDataTypes(_serialization.Model):
"""The available data types for Amazon Web Services CloudTrail data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar logs: Logs data type. Required.
:vartype logs: ~azure.mgmt.securityinsight.models.AwsCloudTrailDataConnectorDataTypesLogs
@@ -3904,7 +4377,7 @@ class AwsCloudTrailDataConnectorDataTypes(_serialization.Model):
"logs": {"key": "logs", "type": "AwsCloudTrailDataConnectorDataTypesLogs"},
}
- def __init__(self, *, logs: "_models.AwsCloudTrailDataConnectorDataTypesLogs", **kwargs):
+ def __init__(self, *, logs: "_models.AwsCloudTrailDataConnectorDataTypesLogs", **kwargs: Any) -> None:
"""
:keyword logs: Logs data type. Required.
:paramtype logs: ~azure.mgmt.securityinsight.models.AwsCloudTrailDataConnectorDataTypesLogs
@@ -3916,7 +4389,7 @@ def __init__(self, *, logs: "_models.AwsCloudTrailDataConnectorDataTypesLogs", *
class DataConnectorDataTypeCommon(_serialization.Model):
"""Common field for data type in data connectors.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
@@ -3931,7 +4404,7 @@ class DataConnectorDataTypeCommon(_serialization.Model):
"state": {"key": "state", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs: Any) -> None:
"""
:keyword state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
@@ -3944,42 +4417,27 @@ def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
class AwsCloudTrailDataConnectorDataTypesLogs(DataConnectorDataTypeCommon):
"""Logs data type.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
:vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
"""
- _validation = {
- "state": {"required": True},
- }
-
- _attribute_map = {
- "state": {"key": "state", "type": "str"},
- }
-
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
-
class AwsS3CheckRequirements(DataConnectorsCheckRequirements):
"""Amazon Web Services S3 requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
"""
@@ -3991,7 +4449,7 @@ class AwsS3CheckRequirements(DataConnectorsCheckRequirements):
"kind": {"key": "kind", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "AmazonWebServicesS3"
@@ -4002,10 +4460,10 @@ class AwsS3DataConnector(DataConnector):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -4020,10 +4478,11 @@ class AwsS3DataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar destination_table: The logs destination table name in LogAnalytics.
:vartype destination_table: str
@@ -4064,8 +4523,8 @@ def __init__(
sqs_urls: Optional[List[str]] = None,
role_arn: Optional[str] = None,
data_types: Optional["_models.AwsS3DataConnectorDataTypes"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -4089,7 +4548,7 @@ def __init__(
class AwsS3DataConnectorDataTypes(_serialization.Model):
"""The available data types for Amazon Web Services S3 data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar logs: Logs data type. Required.
:vartype logs: ~azure.mgmt.securityinsight.models.AwsS3DataConnectorDataTypesLogs
@@ -4103,7 +4562,7 @@ class AwsS3DataConnectorDataTypes(_serialization.Model):
"logs": {"key": "logs", "type": "AwsS3DataConnectorDataTypesLogs"},
}
- def __init__(self, *, logs: "_models.AwsS3DataConnectorDataTypesLogs", **kwargs):
+ def __init__(self, *, logs: "_models.AwsS3DataConnectorDataTypesLogs", **kwargs: Any) -> None:
"""
:keyword logs: Logs data type. Required.
:paramtype logs: ~azure.mgmt.securityinsight.models.AwsS3DataConnectorDataTypesLogs
@@ -4115,29 +4574,13 @@ def __init__(self, *, logs: "_models.AwsS3DataConnectorDataTypesLogs", **kwargs)
class AwsS3DataConnectorDataTypesLogs(DataConnectorDataTypeCommon):
"""Logs data type.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
:vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
"""
- _validation = {
- "state": {"required": True},
- }
-
- _attribute_map = {
- "state": {"key": "state", "type": "str"},
- }
-
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
-
class AzureDevOpsResourceInfo(_serialization.Model):
"""Resources created in Azure DevOps repository.
@@ -4153,7 +4596,9 @@ class AzureDevOpsResourceInfo(_serialization.Model):
"service_connection_id": {"key": "serviceConnectionId", "type": "str"},
}
- def __init__(self, *, pipeline_id: Optional[str] = None, service_connection_id: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, pipeline_id: Optional[str] = None, service_connection_id: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword pipeline_id: Id of the pipeline created for the source-control.
:paramtype pipeline_id: str
@@ -4165,15 +4610,57 @@ def __init__(self, *, pipeline_id: Optional[str] = None, service_connection_id:
self.service_connection_id = service_connection_id
+class AzureEntityResource(Resource):
+ """The resource model definition for an Azure Resource Manager resource with an etag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Resource Etag.
+ :vartype etag: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.etag = None
+
+
class AzureResourceEntity(Entity):
"""Represents an azure resource entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -4187,7 +4674,7 @@ class AzureResourceEntity(Entity):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -4224,7 +4711,7 @@ class AzureResourceEntity(Entity):
"subscription_id": {"key": "properties.subscriptionId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "AzureResource"
@@ -4265,39 +4752,164 @@ class AzureResourceEntityProperties(EntityCommonProperties):
"subscription_id": {"key": "subscriptionId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.resource_id = None
self.subscription_id = None
-class Bookmark(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Represents a bookmark in Azure Security Insights.
+class BasicAuthModel(CcpAuthConfig):
+ """Model for API authentication with basic flow - user name + password.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar created: The time the bookmark was created.
- :vartype created: ~datetime.datetime
- :ivar created_by: Describes a user that created the bookmark.
- :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar display_name: The display name of the bookmark.
- :vartype display_name: str
- :ivar labels: List of labels relevant to this bookmark.
- :vartype labels: list[str]
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar user_name: The user name. Required.
+ :vartype user_name: str
+ :ivar password: The password. Required.
+ :vartype password: str
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "user_name": {"required": True},
+ "password": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ "password": {"key": "password", "type": "str"},
+ }
+
+ def __init__(self, *, user_name: str, password: str, **kwargs: Any) -> None:
+ """
+ :keyword user_name: The user name. Required.
+ :paramtype user_name: str
+ :keyword password: The password. Required.
+ :paramtype password: str
+ """
+ super().__init__(**kwargs)
+ self.type: str = "Basic"
+ self.user_name = user_name
+ self.password = password
+
+
+class BillingStatistic(AzureEntityResource):
+ """Billing statistic.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ SapSolutionUsageStatistic
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Resource Etag.
+ :vartype etag: str
+ :ivar kind: The kind of the billing statistic. Required. "SapSolutionUsage"
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.BillingStatisticKind
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ }
+
+ _subtype_map = {"kind": {"SapSolutionUsage": "SapSolutionUsageStatistic"}}
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: Optional[str] = None
+
+
+class BillingStatisticList(_serialization.Model):
+ """List of all Microsoft Sentinel billing statistics.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of billing statistics.
+ :vartype next_link: str
+ :ivar value: Array of billing statistics. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.BillingStatistic]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[BillingStatistic]"},
+ }
+
+ def __init__(self, *, value: List["_models.BillingStatistic"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of billing statistics. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.BillingStatistic]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class Bookmark(ResourceWithEtag):
+ """Represents a bookmark in Azure Security Insights.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar created: The time the bookmark was created.
+ :vartype created: ~datetime.datetime
+ :ivar created_by: Describes a user that created the bookmark.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar display_name: The display name of the bookmark.
+ :vartype display_name: str
+ :ivar labels: List of labels relevant to this bookmark.
+ :vartype labels: list[str]
:ivar notes: The notes of the bookmark.
:vartype notes: str
:ivar query: The query of the bookmark.
@@ -4375,8 +4987,8 @@ def __init__(
entity_mappings: Optional[List["_models.BookmarkEntityMappings"]] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -4451,8 +5063,8 @@ def __init__(
*,
entity_type: Optional[str] = None,
field_mappings: Optional[List["_models.EntityFieldMapping"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword entity_type: The entity type.
:paramtype entity_type: str
@@ -4489,8 +5101,8 @@ def __init__(
end_time: Optional[datetime.datetime] = None,
expansion_id: Optional[str] = None,
start_time: Optional[datetime.datetime] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword end_time: The end date filter, so the only expansion results returned are before this
date.
@@ -4526,8 +5138,8 @@ def __init__(
*,
meta_data: Optional["_models.ExpansionResultsMetadata"] = None,
value: Optional["_models.BookmarkExpandResponseValue"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword meta_data: The metadata from the expansion operation results.
:paramtype meta_data: ~azure.mgmt.securityinsight.models.ExpansionResultsMetadata
@@ -4558,8 +5170,8 @@ def __init__(
*,
entities: Optional[List["_models.Entity"]] = None,
edges: Optional[List["_models.ConnectedEntity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword entities: Array of the expansion result entities.
:paramtype entities: list[~azure.mgmt.securityinsight.models.Entity]
@@ -4576,7 +5188,7 @@ class BookmarkList(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar next_link: URL to fetch the next set of bookmarks.
:vartype next_link: str
@@ -4594,7 +5206,7 @@ class BookmarkList(_serialization.Model):
"value": {"key": "value", "type": "[Bookmark]"},
}
- def __init__(self, *, value: List["_models.Bookmark"], **kwargs):
+ def __init__(self, *, value: List["_models.Bookmark"], **kwargs: Any) -> None:
"""
:keyword value: Array of bookmarks. Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.Bookmark]
@@ -4607,7 +5219,7 @@ def __init__(self, *, value: List["_models.Bookmark"], **kwargs):
class BookmarkTimelineItem(EntityTimelineItem):
"""Represents bookmark timeline item.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: The entity query kind type. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -4658,8 +5270,8 @@ def __init__(
event_time: Optional[datetime.datetime] = None,
created_by: Optional["_models.UserInfo"] = None,
labels: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword azure_resource_id: The bookmark azure resource id. Required.
:paramtype azure_resource_id: str
@@ -4691,9 +5303,10 @@ def __init__(
class BooleanConditionProperties(AutomationRuleCondition):
- """Describes an automation rule condition that applies a boolean operator (e.g AND, OR) to conditions.
+ """Describes an automation rule condition that applies a boolean operator (e.g AND, OR) to
+ conditions.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar condition_type: Required. Known values are: "Property", "PropertyArray",
"PropertyChanged", "PropertyArrayChanged", and "Boolean".
@@ -4712,7 +5325,9 @@ class BooleanConditionProperties(AutomationRuleCondition):
"condition_properties": {"key": "conditionProperties", "type": "AutomationRuleBooleanCondition"},
}
- def __init__(self, *, condition_properties: Optional["_models.AutomationRuleBooleanCondition"] = None, **kwargs):
+ def __init__(
+ self, *, condition_properties: Optional["_models.AutomationRuleBooleanCondition"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword condition_properties:
:paramtype condition_properties:
@@ -4723,6 +5338,230 @@ def __init__(self, *, condition_properties: Optional["_models.AutomationRuleBool
self.condition_properties = condition_properties
+class BusinessApplicationAgentResource(ResourceWithEtag):
+ """Describes the configuration of a Business Application Agent.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar configuration: Describes the configuration of a Business Application Agent. Required.
+ :vartype configuration: ~azure.mgmt.securityinsight.models.AgentConfiguration
+ :ivar agent_systems:
+ :vartype agent_systems: list[~azure.mgmt.securityinsight.models.AgentSystem]
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar last_modified_time_utc:
+ :vartype last_modified_time_utc: ~datetime.datetime
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "configuration": {"required": True},
+ "agent_systems": {"readonly": True},
+ "display_name": {"required": True, "min_length": 1},
+ "last_modified_time_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "configuration": {"key": "properties.configuration", "type": "AgentConfiguration"},
+ "agent_systems": {"key": "properties.agentSystems", "type": "[AgentSystem]"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ configuration: "_models.AgentConfiguration",
+ display_name: str,
+ etag: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword configuration: Describes the configuration of a Business Application Agent. Required.
+ :paramtype configuration: ~azure.mgmt.securityinsight.models.AgentConfiguration
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.configuration = configuration
+ self.agent_systems = None
+ self.display_name = display_name
+ self.last_modified_time_utc = None
+
+
+class BusinessApplicationAgentsList(_serialization.Model):
+ """List of agents.
+
+ :ivar value:
+ :vartype value: list[~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource]
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[BusinessApplicationAgentResource]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["_models.BusinessApplicationAgentResource"]] = None,
+ next_link: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource]
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
+
+
+class CcpResponseConfig(_serialization.Model):
+ """A custom response configuration for a rule.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar events_json_paths: The json paths, '$' char is the json root. Required.
+ :vartype events_json_paths: list[str]
+ :ivar success_status_json_path: The value where the status message/code should appear in the
+ response.
+ :vartype success_status_json_path: str
+ :ivar success_status_value: The status value.
+ :vartype success_status_value: str
+ :ivar is_gzip_compressed: The value indicating whether the remote server support Gzip and we
+ should expect Gzip response.
+ :vartype is_gzip_compressed: bool
+ :ivar compression_algo: The compression algorithm. For Example: 'gzip', 'multi-gzip',
+ 'deflate'.
+ :vartype compression_algo: str
+ :ivar format: The response format. possible values are json,csv,xml.
+ :vartype format: str
+ :ivar csv_delimiter: The csv delimiter, in case the response format is CSV.
+ :vartype csv_delimiter: str
+ :ivar has_csv_boundary: The value indicating whether the response has CSV boundary in case the
+ response in CSV format.
+ :vartype has_csv_boundary: bool
+ :ivar has_csv_header: The value indicating whether the response has headers in case the
+ response in CSV format.
+ :vartype has_csv_header: bool
+ :ivar convert_child_properties_to_array: The value indicating whether the response isn't an
+ array of events / logs. By setting this flag to true it means the remote server will response
+ with an object which each property has as a value an array of events / logs.
+ :vartype convert_child_properties_to_array: bool
+ :ivar csv_escape: The character used to escape characters in CSV.
+ :vartype csv_escape: str
+ """
+
+ _validation = {
+ "events_json_paths": {"required": True},
+ "csv_escape": {"max_length": 1, "min_length": 1},
+ }
+
+ _attribute_map = {
+ "events_json_paths": {"key": "eventsJsonPaths", "type": "[str]"},
+ "success_status_json_path": {"key": "successStatusJsonPath", "type": "str"},
+ "success_status_value": {"key": "successStatusValue", "type": "str"},
+ "is_gzip_compressed": {"key": "isGzipCompressed", "type": "bool"},
+ "compression_algo": {"key": "compressionAlgo", "type": "str"},
+ "format": {"key": "format", "type": "str"},
+ "csv_delimiter": {"key": "csvDelimiter", "type": "str"},
+ "has_csv_boundary": {"key": "hasCsvBoundary", "type": "bool"},
+ "has_csv_header": {"key": "hasCsvHeader", "type": "bool"},
+ "convert_child_properties_to_array": {"key": "convertChildPropertiesToArray", "type": "bool"},
+ "csv_escape": {"key": "csvEscape", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ events_json_paths: List[str],
+ success_status_json_path: Optional[str] = None,
+ success_status_value: Optional[str] = None,
+ is_gzip_compressed: Optional[bool] = None,
+ compression_algo: str = "gzip",
+ format: str = "json",
+ csv_delimiter: Optional[str] = None,
+ has_csv_boundary: Optional[bool] = None,
+ has_csv_header: Optional[bool] = None,
+ convert_child_properties_to_array: Optional[bool] = None,
+ csv_escape: str = '"',
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword events_json_paths: The json paths, '$' char is the json root. Required.
+ :paramtype events_json_paths: list[str]
+ :keyword success_status_json_path: The value where the status message/code should appear in the
+ response.
+ :paramtype success_status_json_path: str
+ :keyword success_status_value: The status value.
+ :paramtype success_status_value: str
+ :keyword is_gzip_compressed: The value indicating whether the remote server support Gzip and we
+ should expect Gzip response.
+ :paramtype is_gzip_compressed: bool
+ :keyword compression_algo: The compression algorithm. For Example: 'gzip', 'multi-gzip',
+ 'deflate'.
+ :paramtype compression_algo: str
+ :keyword format: The response format. possible values are json,csv,xml.
+ :paramtype format: str
+ :keyword csv_delimiter: The csv delimiter, in case the response format is CSV.
+ :paramtype csv_delimiter: str
+ :keyword has_csv_boundary: The value indicating whether the response has CSV boundary in case
+ the response in CSV format.
+ :paramtype has_csv_boundary: bool
+ :keyword has_csv_header: The value indicating whether the response has headers in case the
+ response in CSV format.
+ :paramtype has_csv_header: bool
+ :keyword convert_child_properties_to_array: The value indicating whether the response isn't an
+ array of events / logs. By setting this flag to true it means the remote server will response
+ with an object which each property has as a value an array of events / logs.
+ :paramtype convert_child_properties_to_array: bool
+ :keyword csv_escape: The character used to escape characters in CSV.
+ :paramtype csv_escape: str
+ """
+ super().__init__(**kwargs)
+ self.events_json_paths = events_json_paths
+ self.success_status_json_path = success_status_json_path
+ self.success_status_value = success_status_value
+ self.is_gzip_compressed = is_gzip_compressed
+ self.compression_algo = compression_algo
+ self.format = format
+ self.csv_delimiter = csv_delimiter
+ self.has_csv_boundary = has_csv_boundary
+ self.has_csv_header = has_csv_header
+ self.convert_child_properties_to_array = convert_child_properties_to_array
+ self.csv_escape = csv_escape
+
+
class ClientInfo(_serialization.Model):
"""Information on the client (user or application) that made some action.
@@ -4750,8 +5589,8 @@ def __init__(
name: Optional[str] = None,
object_id: Optional[str] = None,
user_principal_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword email: The email of the client.
:paramtype email: str
@@ -4774,10 +5613,10 @@ class CloudApplicationEntity(Entity):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -4791,7 +5630,7 @@ class CloudApplicationEntity(Entity):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -4833,7 +5672,7 @@ class CloudApplicationEntity(Entity):
"instance_name": {"key": "properties.instanceName", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "CloudApplication"
@@ -4880,7 +5719,7 @@ class CloudApplicationEntityProperties(EntityCommonProperties):
"instance_name": {"key": "instanceName", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.app_id = None
@@ -4911,7 +5750,7 @@ class CloudErrorBody(_serialization.Model):
"message": {"key": "message", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
@@ -4923,10 +5762,10 @@ class CodelessApiPollingDataConnector(DataConnector):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -4941,10 +5780,11 @@ class CodelessApiPollingDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar connector_ui_config: Config to describe the instructions blade.
:vartype connector_ui_config:
@@ -4979,8 +5819,8 @@ def __init__(
etag: Optional[str] = None,
connector_ui_config: Optional["_models.CodelessUiConnectorConfigProperties"] = None,
polling_config: Optional["_models.CodelessConnectorPollingConfigProperties"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -4997,10 +5837,10 @@ def __init__(
self.polling_config = polling_config
-class CodelessConnectorPollingAuthProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes
+class CodelessConnectorPollingAuthProperties(_serialization.Model):
"""Describe the authentication properties needed to successfully authenticate with the server.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar auth_type: The authentication type. Required.
:vartype auth_type: str
@@ -5070,8 +5910,8 @@ def __init__(
token_endpoint_query_parameters: Optional[JSON] = None,
is_client_secret_in_header: Optional[bool] = None,
scope: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword auth_type: The authentication type. Required.
:paramtype auth_type: str
@@ -5125,7 +5965,7 @@ def __init__(
class CodelessConnectorPollingConfigProperties(_serialization.Model):
"""Config to describe the polling config for API poller connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar is_active: The poller active status.
:vartype is_active: bool
@@ -5161,8 +6001,8 @@ def __init__(
is_active: Optional[bool] = None,
paging: Optional["_models.CodelessConnectorPollingPagingProperties"] = None,
response: Optional["_models.CodelessConnectorPollingResponseProperties"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword is_active: The poller active status.
:paramtype is_active: bool
@@ -5188,7 +6028,7 @@ def __init__(
class CodelessConnectorPollingPagingProperties(_serialization.Model):
"""Describe the properties needed to make a pagination call.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar paging_type: Describes the type. could be 'None', 'PageToken', 'PageCount', 'TimeStamp'.
Required.
@@ -5243,8 +6083,8 @@ def __init__(
search_the_latest_time_stamp_from_events_list: Optional[str] = None,
page_size_para_name: Optional[str] = None,
page_size: Optional[int] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword paging_type: Describes the type. could be 'None', 'PageToken', 'PageCount',
'TimeStamp'. Required.
@@ -5279,10 +6119,10 @@ def __init__(
self.page_size = page_size
-class CodelessConnectorPollingRequestProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes
+class CodelessConnectorPollingRequestProperties(_serialization.Model): # pylint: disable=name-too-long
"""Describe the request properties needed to successfully pull from the server.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar api_endpoint: Describe the endpoint we should pull the data from. Required.
:vartype api_endpoint: str
@@ -5352,8 +6192,8 @@ def __init__(
query_parameters_template: Optional[str] = None,
start_time_attribute_name: Optional[str] = None,
end_time_attribute_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword api_endpoint: Describe the endpoint we should pull the data from. Required.
:paramtype api_endpoint: str
@@ -5401,10 +6241,10 @@ def __init__(
self.end_time_attribute_name = end_time_attribute_name
-class CodelessConnectorPollingResponseProperties(_serialization.Model):
+class CodelessConnectorPollingResponseProperties(_serialization.Model): # pylint: disable=name-too-long
"""Describes the response from the external server.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar events_json_paths: Describes the path we should extract the data in the response.
Required.
@@ -5437,8 +6277,8 @@ def __init__(
success_status_json_path: Optional[str] = None,
success_status_value: Optional[str] = None,
is_gzip_compressed: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword events_json_paths: Describes the path we should extract the data in the response.
Required.
@@ -5459,10 +6299,10 @@ def __init__(
self.is_gzip_compressed = is_gzip_compressed
-class CodelessUiConnectorConfigProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes
+class CodelessUiConnectorConfigProperties(_serialization.Model):
"""Config to describe the instructions blade.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar title: Connector blade title. Required.
:vartype title: str
@@ -5547,8 +6387,8 @@ def __init__(
permissions: "_models.Permissions",
instruction_steps: List["_models.CodelessUiConnectorConfigPropertiesInstructionStepsItem"],
custom_image: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword title: Connector blade title. Required.
:paramtype title: str
@@ -5616,8 +6456,8 @@ def __init__(
*,
type: Optional[Union[str, "_models.ConnectivityType"]] = None,
value: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword type: type of connectivity. "IsConnectedQuery"
:paramtype type: str or ~azure.mgmt.securityinsight.models.ConnectivityType
@@ -5629,7 +6469,9 @@ def __init__(
self.value = value
-class CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem(ConnectivityCriteria):
+class CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem(
+ ConnectivityCriteria
+): # pylint: disable=name-too-long
"""CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem.
:ivar type: type of connectivity. "IsConnectedQuery"
@@ -5638,26 +6480,6 @@ class CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem(ConnectivityCr
:vartype value: list[str]
"""
- _attribute_map = {
- "type": {"key": "type", "type": "str"},
- "value": {"key": "value", "type": "[str]"},
- }
-
- def __init__(
- self,
- *,
- type: Optional[Union[str, "_models.ConnectivityType"]] = None,
- value: Optional[List[str]] = None,
- **kwargs
- ):
- """
- :keyword type: type of connectivity. "IsConnectedQuery"
- :paramtype type: str or ~azure.mgmt.securityinsight.models.ConnectivityType
- :keyword value: Queries for checking connectivity.
- :paramtype value: list[str]
- """
- super().__init__(type=type, value=value, **kwargs)
-
class LastDataReceivedDataType(_serialization.Model):
"""Data type for last data received.
@@ -5674,7 +6496,9 @@ class LastDataReceivedDataType(_serialization.Model):
"last_data_received_query": {"key": "lastDataReceivedQuery", "type": "str"},
}
- def __init__(self, *, name: Optional[str] = None, last_data_received_query: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, name: Optional[str] = None, last_data_received_query: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword name: Name of the data type to show in the graph. can be use with
{{graphQueriesTableName}} placeholder.
@@ -5687,7 +6511,7 @@ def __init__(self, *, name: Optional[str] = None, last_data_received_query: Opti
self.last_data_received_query = last_data_received_query
-class CodelessUiConnectorConfigPropertiesDataTypesItem(LastDataReceivedDataType):
+class CodelessUiConnectorConfigPropertiesDataTypesItem(LastDataReceivedDataType): # pylint: disable=name-too-long
"""CodelessUiConnectorConfigPropertiesDataTypesItem.
:ivar name: Name of the data type to show in the graph. can be use with
@@ -5697,21 +6521,6 @@ class CodelessUiConnectorConfigPropertiesDataTypesItem(LastDataReceivedDataType)
:vartype last_data_received_query: str
"""
- _attribute_map = {
- "name": {"key": "name", "type": "str"},
- "last_data_received_query": {"key": "lastDataReceivedQuery", "type": "str"},
- }
-
- def __init__(self, *, name: Optional[str] = None, last_data_received_query: Optional[str] = None, **kwargs):
- """
- :keyword name: Name of the data type to show in the graph. can be use with
- {{graphQueriesTableName}} placeholder.
- :paramtype name: str
- :keyword last_data_received_query: Query for indicate last data received.
- :paramtype last_data_received_query: str
- """
- super().__init__(name=name, last_data_received_query=last_data_received_query, **kwargs)
-
class GraphQueries(_serialization.Model):
"""The graph query to show the current data status.
@@ -5736,8 +6545,8 @@ def __init__(
metric_name: Optional[str] = None,
legend: Optional[str] = None,
base_query: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword metric_name: the metric that the query is checking.
:paramtype metric_name: str
@@ -5752,7 +6561,7 @@ def __init__(
self.base_query = base_query
-class CodelessUiConnectorConfigPropertiesGraphQueriesItem(GraphQueries):
+class CodelessUiConnectorConfigPropertiesGraphQueriesItem(GraphQueries): # pylint: disable=name-too-long
"""CodelessUiConnectorConfigPropertiesGraphQueriesItem.
:ivar metric_name: the metric that the query is checking.
@@ -5763,30 +6572,6 @@ class CodelessUiConnectorConfigPropertiesGraphQueriesItem(GraphQueries):
:vartype base_query: str
"""
- _attribute_map = {
- "metric_name": {"key": "metricName", "type": "str"},
- "legend": {"key": "legend", "type": "str"},
- "base_query": {"key": "baseQuery", "type": "str"},
- }
-
- def __init__(
- self,
- *,
- metric_name: Optional[str] = None,
- legend: Optional[str] = None,
- base_query: Optional[str] = None,
- **kwargs
- ):
- """
- :keyword metric_name: the metric that the query is checking.
- :paramtype metric_name: str
- :keyword legend: The legend for the graph.
- :paramtype legend: str
- :keyword base_query: The base query for the graph.
- :paramtype base_query: str
- """
- super().__init__(metric_name=metric_name, legend=legend, base_query=base_query, **kwargs)
-
class InstructionSteps(_serialization.Model):
"""Instruction steps to enable the connector.
@@ -5812,8 +6597,8 @@ def __init__(
title: Optional[str] = None,
description: Optional[str] = None,
instructions: Optional[List["_models.InstructionStepsInstructionsItem"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword title: Instruction step title.
:paramtype title: str
@@ -5829,7 +6614,7 @@ def __init__(
self.instructions = instructions
-class CodelessUiConnectorConfigPropertiesInstructionStepsItem(InstructionSteps):
+class CodelessUiConnectorConfigPropertiesInstructionStepsItem(InstructionSteps): # pylint: disable=name-too-long
"""CodelessUiConnectorConfigPropertiesInstructionStepsItem.
:ivar title: Instruction step title.
@@ -5841,31 +6626,6 @@ class CodelessUiConnectorConfigPropertiesInstructionStepsItem(InstructionSteps):
list[~azure.mgmt.securityinsight.models.InstructionStepsInstructionsItem]
"""
- _attribute_map = {
- "title": {"key": "title", "type": "str"},
- "description": {"key": "description", "type": "str"},
- "instructions": {"key": "instructions", "type": "[InstructionStepsInstructionsItem]"},
- }
-
- def __init__(
- self,
- *,
- title: Optional[str] = None,
- description: Optional[str] = None,
- instructions: Optional[List["_models.InstructionStepsInstructionsItem"]] = None,
- **kwargs
- ):
- """
- :keyword title: Instruction step title.
- :paramtype title: str
- :keyword description: Instruction step description.
- :paramtype description: str
- :keyword instructions: Instruction step details.
- :paramtype instructions:
- list[~azure.mgmt.securityinsight.models.InstructionStepsInstructionsItem]
- """
- super().__init__(title=title, description=description, instructions=instructions, **kwargs)
-
class SampleQueries(_serialization.Model):
"""The sample queries for the connector.
@@ -5881,7 +6641,7 @@ class SampleQueries(_serialization.Model):
"query": {"key": "query", "type": "str"},
}
- def __init__(self, *, description: Optional[str] = None, query: Optional[str] = None, **kwargs):
+ def __init__(self, *, description: Optional[str] = None, query: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: The sample query description.
:paramtype description: str
@@ -5893,7 +6653,7 @@ def __init__(self, *, description: Optional[str] = None, query: Optional[str] =
self.query = query
-class CodelessUiConnectorConfigPropertiesSampleQueriesItem(SampleQueries):
+class CodelessUiConnectorConfigPropertiesSampleQueriesItem(SampleQueries): # pylint: disable=name-too-long
"""CodelessUiConnectorConfigPropertiesSampleQueriesItem.
:ivar description: The sample query description.
@@ -5902,30 +6662,16 @@ class CodelessUiConnectorConfigPropertiesSampleQueriesItem(SampleQueries):
:vartype query: str
"""
- _attribute_map = {
- "description": {"key": "description", "type": "str"},
- "query": {"key": "query", "type": "str"},
- }
-
- def __init__(self, *, description: Optional[str] = None, query: Optional[str] = None, **kwargs):
- """
- :keyword description: The sample query description.
- :paramtype description: str
- :keyword query: the sample query.
- :paramtype query: str
- """
- super().__init__(description=description, query=query, **kwargs)
-
class CodelessUiDataConnector(DataConnector):
"""Represents Codeless UI data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -5940,10 +6686,11 @@ class CodelessUiDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar connector_ui_config: Config to describe the instructions blade.
:vartype connector_ui_config:
@@ -5973,8 +6720,8 @@ def __init__(
*,
etag: Optional[str] = None,
connector_ui_config: Optional["_models.CodelessUiConnectorConfigProperties"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -5987,6 +6734,123 @@ def __init__(
self.connector_ui_config = connector_ui_config
+class ConditionClause(_serialization.Model):
+ """Represents a single clause to be evaluated by a NormalizedCondition.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar clause_connective: The connective used to join all values in this ConditionClause. Known
+ values are: "And", "Or", "And", and "Or".
+ :vartype clause_connective: str or ~azure.mgmt.securityinsight.models.Connective
+ :ivar field: The name of the field that is evaluated. Required.
+ :vartype field: str
+ :ivar operator: Represents an operator in a ConditionClause. Required. Known values are:
+ "Equals", "NotEquals", "LessThan", "LessThanEqual", "GreaterThan", "GreaterThanEqual",
+ "StringContains", "StringNotContains", "StringStartsWith", "StringNotStartsWith",
+ "StringEndsWith", "StringNotEndsWith", "StringIsEmpty", "IsNull", "IsTrue", "IsFalse",
+ "ArrayContains", "ArrayNotContains", "OnOrAfterRelative", "AfterRelative",
+ "OnOrBeforeRelative", "BeforeRelative", "OnOrAfterAbsolute", "AfterAbsolute",
+ "OnOrBeforeAbsolute", and "BeforeAbsolute".
+ :vartype operator: str or ~azure.mgmt.securityinsight.models.Operator
+ :ivar values: The top level connective operator for this condition. Required.
+ :vartype values: list[str]
+ """
+
+ _validation = {
+ "field": {"required": True},
+ "operator": {"required": True},
+ "values": {"required": True},
+ }
+
+ _attribute_map = {
+ "clause_connective": {"key": "clauseConnective", "type": "str"},
+ "field": {"key": "field", "type": "str"},
+ "operator": {"key": "operator", "type": "str"},
+ "values": {"key": "values", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ field: str,
+ operator: Union[str, "_models.Operator"],
+ values: List[str],
+ clause_connective: Optional[Union[str, "_models.Connective"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword clause_connective: The connective used to join all values in this ConditionClause.
+ Known values are: "And", "Or", "And", and "Or".
+ :paramtype clause_connective: str or ~azure.mgmt.securityinsight.models.Connective
+ :keyword field: The name of the field that is evaluated. Required.
+ :paramtype field: str
+ :keyword operator: Represents an operator in a ConditionClause. Required. Known values are:
+ "Equals", "NotEquals", "LessThan", "LessThanEqual", "GreaterThan", "GreaterThanEqual",
+ "StringContains", "StringNotContains", "StringStartsWith", "StringNotStartsWith",
+ "StringEndsWith", "StringNotEndsWith", "StringIsEmpty", "IsNull", "IsTrue", "IsFalse",
+ "ArrayContains", "ArrayNotContains", "OnOrAfterRelative", "AfterRelative",
+ "OnOrBeforeRelative", "BeforeRelative", "OnOrAfterAbsolute", "AfterAbsolute",
+ "OnOrBeforeAbsolute", and "BeforeAbsolute".
+ :paramtype operator: str or ~azure.mgmt.securityinsight.models.Operator
+ :keyword values: The top level connective operator for this condition. Required.
+ :paramtype values: list[str]
+ """
+ super().__init__(**kwargs)
+ self.clause_connective = clause_connective
+ self.field = field
+ self.operator = operator
+ self.values = values
+
+
+class ConditionProperties(_serialization.Model):
+ """Represents a condition used to query for TI objects.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar stix_object_type: The STIX type for the objects returned by this query.
+ :vartype stix_object_type: str
+ :ivar clauses: The list of clauses to be evaluated in disjunction or conjunction base on the
+ specified top level connective operator. Required.
+ :vartype clauses: list[~azure.mgmt.securityinsight.models.ConditionClause]
+ :ivar condition_connective: The top level connective operator for this condition. Known values
+ are: "And", "Or", "And", and "Or".
+ :vartype condition_connective: str or ~azure.mgmt.securityinsight.models.Connective
+ """
+
+ _validation = {
+ "stix_object_type": {"readonly": True},
+ "clauses": {"required": True},
+ }
+
+ _attribute_map = {
+ "stix_object_type": {"key": "stixObjectType", "type": "str"},
+ "clauses": {"key": "clauses", "type": "[ConditionClause]"},
+ "condition_connective": {"key": "conditionConnective", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ clauses: List["_models.ConditionClause"],
+ condition_connective: Optional[Union[str, "_models.Connective"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword clauses: The list of clauses to be evaluated in disjunction or conjunction base on the
+ specified top level connective operator. Required.
+ :paramtype clauses: list[~azure.mgmt.securityinsight.models.ConditionClause]
+ :keyword condition_connective: The top level connective operator for this condition. Known
+ values are: "And", "Or", "And", and "Or".
+ :paramtype condition_connective: str or ~azure.mgmt.securityinsight.models.Connective
+ """
+ super().__init__(**kwargs)
+ self.stix_object_type = None
+ self.clauses = clauses
+ self.condition_connective = condition_connective
+
+
class ConnectedEntity(_serialization.Model):
"""Expansion result connected entities.
@@ -6001,7 +6865,9 @@ class ConnectedEntity(_serialization.Model):
"additional_data": {"key": "additionalData", "type": "object"},
}
- def __init__(self, *, target_entity_id: Optional[str] = None, additional_data: Optional[JSON] = None, **kwargs):
+ def __init__(
+ self, *, target_entity_id: Optional[str] = None, additional_data: Optional[JSON] = None, **kwargs: Any
+ ) -> None:
"""
:keyword target_entity_id: Entity Id of the connected entity.
:paramtype target_entity_id: str
@@ -6013,16 +6879,16 @@ def __init__(self, *, target_entity_id: Optional[str] = None, additional_data: O
self.additional_data = additional_data
-class ConnectorInstructionModelBase(_serialization.Model):
- """Instruction step details.
+class ConnectivityCriterion(_serialization.Model):
+ """The criteria by which we determine whether the connector is connected or not.
+ For Example, use a KQL query to check if the expected data type is flowing).
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar parameters: The parameters for the setting.
- :vartype parameters: JSON
- :ivar type: The kind of the setting. Required. Known values are: "CopyableLabel",
- "InstructionStepsGroup", and "InfoMessage".
- :vartype type: str or ~azure.mgmt.securityinsight.models.SettingType
+ :ivar type: Gets or sets the type of connectivity. Required.
+ :vartype type: str
+ :ivar value: Gets or sets the queries for checking connectivity.
+ :vartype value: list[str]
"""
_validation = {
@@ -6030,438 +6896,325 @@ class ConnectorInstructionModelBase(_serialization.Model):
}
_attribute_map = {
- "parameters": {"key": "parameters", "type": "object"},
"type": {"key": "type", "type": "str"},
+ "value": {"key": "value", "type": "[str]"},
}
- def __init__(self, *, type: Union[str, "_models.SettingType"], parameters: Optional[JSON] = None, **kwargs):
+ def __init__(self, *, type: str, value: Optional[List[str]] = None, **kwargs: Any) -> None:
"""
- :keyword parameters: The parameters for the setting.
- :paramtype parameters: JSON
- :keyword type: The kind of the setting. Required. Known values are: "CopyableLabel",
- "InstructionStepsGroup", and "InfoMessage".
- :paramtype type: str or ~azure.mgmt.securityinsight.models.SettingType
+ :keyword type: Gets or sets the type of connectivity. Required.
+ :paramtype type: str
+ :keyword value: Gets or sets the queries for checking connectivity.
+ :paramtype value: list[str]
"""
super().__init__(**kwargs)
- self.parameters = parameters
self.type = type
+ self.value = value
-class Content(_serialization.Model):
- """Content section of the recommendation.
+class ConnectorDataType(_serialization.Model):
+ """The data type which is created by the connector,
+ including a query indicated when was the last time that data type was received in the
+ workspace.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar title: Title of the content. Required.
- :vartype title: str
- :ivar description: Description of the content. Required.
- :vartype description: str
+ :ivar name: Gets or sets the name of the data type to show in the graph. Required.
+ :vartype name: str
+ :ivar last_data_received_query: Gets or sets the query to indicate when relevant data was last
+ received in the workspace. Required.
+ :vartype last_data_received_query: str
"""
_validation = {
- "title": {"required": True},
- "description": {"required": True},
+ "name": {"required": True},
+ "last_data_received_query": {"required": True},
}
_attribute_map = {
- "title": {"key": "title", "type": "str"},
- "description": {"key": "description", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "last_data_received_query": {"key": "lastDataReceivedQuery", "type": "str"},
}
- def __init__(self, *, title: str, description: str, **kwargs):
+ def __init__(self, *, name: str, last_data_received_query: str, **kwargs: Any) -> None:
"""
- :keyword title: Title of the content. Required.
- :paramtype title: str
- :keyword description: Description of the content. Required.
- :paramtype description: str
+ :keyword name: Gets or sets the name of the data type to show in the graph. Required.
+ :paramtype name: str
+ :keyword last_data_received_query: Gets or sets the query to indicate when relevant data was
+ last received in the workspace. Required.
+ :paramtype last_data_received_query: str
"""
super().__init__(**kwargs)
- self.title = title
- self.description = description
+ self.name = name
+ self.last_data_received_query = last_data_received_query
-class ContentPathMap(_serialization.Model):
- """The mapping of content type to a repo path.
+class ConnectorDefinitionsAvailability(_serialization.Model):
+ """The exposure status of the connector to the customers.
- :ivar content_type: Content type. Known values are: "AnalyticRule" and "Workbook".
- :vartype content_type: str or ~azure.mgmt.securityinsight.models.ContentType
- :ivar path: The path to the content.
- :vartype path: str
+ :ivar status: The exposure status of the connector to the customers. Available values are 0-4
+ (0=None, 1=Available, 2=FeatureFlag, 3=Internal).
+ :vartype status: int
+ :ivar is_preview: Gets or sets a value indicating whether the connector is preview.
+ :vartype is_preview: bool
"""
_attribute_map = {
- "content_type": {"key": "contentType", "type": "str"},
- "path": {"key": "path", "type": "str"},
+ "status": {"key": "status", "type": "int"},
+ "is_preview": {"key": "isPreview", "type": "bool"},
}
- def __init__(
- self, *, content_type: Optional[Union[str, "_models.ContentType"]] = None, path: Optional[str] = None, **kwargs
- ):
+ def __init__(self, *, status: Optional[int] = None, is_preview: Optional[bool] = None, **kwargs: Any) -> None:
"""
- :keyword content_type: Content type. Known values are: "AnalyticRule" and "Workbook".
- :paramtype content_type: str or ~azure.mgmt.securityinsight.models.ContentType
- :keyword path: The path to the content.
- :paramtype path: str
+ :keyword status: The exposure status of the connector to the customers. Available values are
+ 0-4 (0=None, 1=Available, 2=FeatureFlag, 3=Internal).
+ :paramtype status: int
+ :keyword is_preview: Gets or sets a value indicating whether the connector is preview.
+ :paramtype is_preview: bool
"""
super().__init__(**kwargs)
- self.content_type = content_type
- self.path = path
+ self.status = status
+ self.is_preview = is_preview
-class CustomsPermission(_serialization.Model):
- """Customs permissions required for the connector.
+class ConnectorDefinitionsPermissions(_serialization.Model):
+ """The required Permissions for the connector.
- :ivar name: Customs permissions name.
- :vartype name: str
- :ivar description: Customs permissions description.
- :vartype description: str
+ :ivar tenant: Gets or sets the required tenant permissions for the connector.
+ :vartype tenant: list[str]
+ :ivar licenses: Gets or sets the required licenses for the user to create connections.
+ :vartype licenses: list[str]
+ :ivar resource_provider: Gets or sets the resource provider permissions required for the user
+ to create connections.
+ :vartype resource_provider:
+ list[~azure.mgmt.securityinsight.models.ConnectorDefinitionsResourceProvider]
+ :ivar customs: Gets or sets the customs permissions required for the user to create
+ connections.
+ :vartype customs: list[~azure.mgmt.securityinsight.models.CustomPermissionDetails]
"""
_attribute_map = {
- "name": {"key": "name", "type": "str"},
- "description": {"key": "description", "type": "str"},
+ "tenant": {"key": "tenant", "type": "[str]"},
+ "licenses": {"key": "licenses", "type": "[str]"},
+ "resource_provider": {"key": "resourceProvider", "type": "[ConnectorDefinitionsResourceProvider]"},
+ "customs": {"key": "customs", "type": "[CustomPermissionDetails]"},
}
- def __init__(self, *, name: Optional[str] = None, description: Optional[str] = None, **kwargs):
- """
- :keyword name: Customs permissions name.
- :paramtype name: str
- :keyword description: Customs permissions description.
- :paramtype description: str
+ def __init__(
+ self,
+ *,
+ tenant: Optional[List[str]] = None,
+ licenses: Optional[List[str]] = None,
+ resource_provider: Optional[List["_models.ConnectorDefinitionsResourceProvider"]] = None,
+ customs: Optional[List["_models.CustomPermissionDetails"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tenant: Gets or sets the required tenant permissions for the connector.
+ :paramtype tenant: list[str]
+ :keyword licenses: Gets or sets the required licenses for the user to create connections.
+ :paramtype licenses: list[str]
+ :keyword resource_provider: Gets or sets the resource provider permissions required for the
+ user to create connections.
+ :paramtype resource_provider:
+ list[~azure.mgmt.securityinsight.models.ConnectorDefinitionsResourceProvider]
+ :keyword customs: Gets or sets the customs permissions required for the user to create
+ connections.
+ :paramtype customs: list[~azure.mgmt.securityinsight.models.CustomPermissionDetails]
"""
super().__init__(**kwargs)
- self.name = name
- self.description = description
+ self.tenant = tenant
+ self.licenses = licenses
+ self.resource_provider = resource_provider
+ self.customs = customs
-class Customs(CustomsPermission):
- """Customs permissions required for the connector.
+class ConnectorDefinitionsResourceProvider(_serialization.Model):
+ """The resource provider details include the required permissions for the user to create
+ connections.
+ The user should have the required permissions(Read\\Write, ..) in the specified scope
+ ProviderPermissionsScope against the specified resource provider.
- :ivar name: Customs permissions name.
- :vartype name: str
- :ivar description: Customs permissions description.
- :vartype description: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar provider: Gets or sets the provider name. Required.
+ :vartype provider: str
+ :ivar permissions_display_text: Gets or sets the permissions description text. Required.
+ :vartype permissions_display_text: str
+ :ivar provider_display_name: Gets or sets the permissions provider display name. Required.
+ :vartype provider_display_name: str
+ :ivar scope: The scope on which the user should have permissions, in order to be able to create
+ connections. Required. Known values are: "Subscription", "ResourceGroup", and "Workspace".
+ :vartype scope: str or ~azure.mgmt.securityinsight.models.ProviderPermissionsScope
+ :ivar required_permissions: Required permissions for the connector resource provider that
+ define in ResourceProviders.
+ For more information about the permissions see :code:`here`. # pylint: disable=line-too-long
+ Required.
+ :vartype required_permissions:
+ ~azure.mgmt.securityinsight.models.ResourceProviderRequiredPermissions
"""
+ _validation = {
+ "provider": {"required": True},
+ "permissions_display_text": {"required": True},
+ "provider_display_name": {"required": True},
+ "scope": {"required": True},
+ "required_permissions": {"required": True},
+ }
+
_attribute_map = {
- "name": {"key": "name", "type": "str"},
- "description": {"key": "description", "type": "str"},
+ "provider": {"key": "provider", "type": "str"},
+ "permissions_display_text": {"key": "permissionsDisplayText", "type": "str"},
+ "provider_display_name": {"key": "providerDisplayName", "type": "str"},
+ "scope": {"key": "scope", "type": "str"},
+ "required_permissions": {"key": "requiredPermissions", "type": "ResourceProviderRequiredPermissions"},
}
- def __init__(self, *, name: Optional[str] = None, description: Optional[str] = None, **kwargs):
- """
- :keyword name: Customs permissions name.
- :paramtype name: str
- :keyword description: Customs permissions description.
- :paramtype description: str
+ def __init__(
+ self,
+ *,
+ provider: str,
+ permissions_display_text: str,
+ provider_display_name: str,
+ scope: Union[str, "_models.ProviderPermissionsScope"],
+ required_permissions: "_models.ResourceProviderRequiredPermissions",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword provider: Gets or sets the provider name. Required.
+ :paramtype provider: str
+ :keyword permissions_display_text: Gets or sets the permissions description text. Required.
+ :paramtype permissions_display_text: str
+ :keyword provider_display_name: Gets or sets the permissions provider display name. Required.
+ :paramtype provider_display_name: str
+ :keyword scope: The scope on which the user should have permissions, in order to be able to
+ create connections. Required. Known values are: "Subscription", "ResourceGroup", and
+ "Workspace".
+ :paramtype scope: str or ~azure.mgmt.securityinsight.models.ProviderPermissionsScope
+ :keyword required_permissions: Required permissions for the connector resource provider that
+ define in ResourceProviders.
+ For more information about the permissions see :code:`here`. # pylint: disable=line-too-long
+ Required.
+ :paramtype required_permissions:
+ ~azure.mgmt.securityinsight.models.ResourceProviderRequiredPermissions
"""
- super().__init__(name=name, description=description, **kwargs)
+ super().__init__(**kwargs)
+ self.provider = provider
+ self.permissions_display_text = permissions_display_text
+ self.provider_display_name = provider_display_name
+ self.scope = scope
+ self.required_permissions = required_permissions
-class DataConnectorConnectBody(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Represents Codeless API Polling data connector.
+class ConnectorInstructionModelBase(_serialization.Model):
+ """Instruction step details.
- :ivar kind: The authentication kind used to poll the data. Known values are: "Basic", "OAuth2",
- and "APIKey".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.ConnectAuthKind
- :ivar api_key: The API key of the audit server.
- :vartype api_key: str
- :ivar data_collection_endpoint: Used in v2 logs connector. Represents the data collection
- ingestion endpoint in log analytics.
- :vartype data_collection_endpoint: str
- :ivar data_collection_rule_immutable_id: Used in v2 logs connector. The data collection rule
- immutable id, the rule defines the transformation and data destination.
- :vartype data_collection_rule_immutable_id: str
- :ivar output_stream: Used in v2 logs connector. The stream we are sending the data to, this is
- the name of the streamDeclarations defined in the DCR.
- :vartype output_stream: str
- :ivar client_secret: The client secret of the OAuth 2.0 application.
- :vartype client_secret: str
- :ivar client_id: The client id of the OAuth 2.0 application.
- :vartype client_id: str
- :ivar authorization_code: The authorization code used in OAuth 2.0 code flow to issue a token.
- :vartype authorization_code: str
- :ivar user_name: The user name in the audit log server.
- :vartype user_name: str
- :ivar password: The user password in the audit log server.
- :vartype password: str
- :ivar request_config_user_input_values:
- :vartype request_config_user_input_values: list[JSON]
+ All required parameters must be populated in order to send to server.
+
+ :ivar parameters: The parameters for the setting.
+ :vartype parameters: JSON
+ :ivar type: The kind of the setting. Required. Known values are: "CopyableLabel",
+ "InstructionStepsGroup", and "InfoMessage".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.SettingType
"""
- _attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "api_key": {"key": "apiKey", "type": "str"},
- "data_collection_endpoint": {"key": "dataCollectionEndpoint", "type": "str"},
- "data_collection_rule_immutable_id": {"key": "dataCollectionRuleImmutableId", "type": "str"},
- "output_stream": {"key": "outputStream", "type": "str"},
- "client_secret": {"key": "clientSecret", "type": "str"},
- "client_id": {"key": "clientId", "type": "str"},
- "authorization_code": {"key": "authorizationCode", "type": "str"},
- "user_name": {"key": "userName", "type": "str"},
- "password": {"key": "password", "type": "str"},
- "request_config_user_input_values": {"key": "requestConfigUserInputValues", "type": "[object]"},
+ _validation = {
+ "type": {"required": True},
}
- def __init__(
- self,
- *,
- kind: Optional[Union[str, "_models.ConnectAuthKind"]] = None,
- api_key: Optional[str] = None,
- data_collection_endpoint: Optional[str] = None,
- data_collection_rule_immutable_id: Optional[str] = None,
- output_stream: Optional[str] = None,
- client_secret: Optional[str] = None,
- client_id: Optional[str] = None,
- authorization_code: Optional[str] = None,
- user_name: Optional[str] = None,
- password: Optional[str] = None,
- request_config_user_input_values: Optional[List[JSON]] = None,
- **kwargs
- ):
- """
- :keyword kind: The authentication kind used to poll the data. Known values are: "Basic",
- "OAuth2", and "APIKey".
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.ConnectAuthKind
- :keyword api_key: The API key of the audit server.
- :paramtype api_key: str
- :keyword data_collection_endpoint: Used in v2 logs connector. Represents the data collection
- ingestion endpoint in log analytics.
- :paramtype data_collection_endpoint: str
- :keyword data_collection_rule_immutable_id: Used in v2 logs connector. The data collection rule
- immutable id, the rule defines the transformation and data destination.
- :paramtype data_collection_rule_immutable_id: str
- :keyword output_stream: Used in v2 logs connector. The stream we are sending the data to, this
- is the name of the streamDeclarations defined in the DCR.
- :paramtype output_stream: str
- :keyword client_secret: The client secret of the OAuth 2.0 application.
- :paramtype client_secret: str
- :keyword client_id: The client id of the OAuth 2.0 application.
- :paramtype client_id: str
- :keyword authorization_code: The authorization code used in OAuth 2.0 code flow to issue a
- token.
- :paramtype authorization_code: str
- :keyword user_name: The user name in the audit log server.
- :paramtype user_name: str
- :keyword password: The user password in the audit log server.
- :paramtype password: str
- :keyword request_config_user_input_values:
- :paramtype request_config_user_input_values: list[JSON]
- """
- super().__init__(**kwargs)
- self.kind = kind
- self.api_key = api_key
- self.data_collection_endpoint = data_collection_endpoint
- self.data_collection_rule_immutable_id = data_collection_rule_immutable_id
- self.output_stream = output_stream
- self.client_secret = client_secret
- self.client_id = client_id
- self.authorization_code = authorization_code
- self.user_name = user_name
- self.password = password
- self.request_config_user_input_values = request_config_user_input_values
-
-
-class DataConnectorList(_serialization.Model):
- """List all the data connectors.
-
- Variables are only populated by the server, and will be ignored when sending a request.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar next_link: URL to fetch the next set of data connectors.
- :vartype next_link: str
- :ivar value: Array of data connectors. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.DataConnector]
- """
-
- _validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
- }
-
- _attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[DataConnector]"},
- }
-
- def __init__(self, *, value: List["_models.DataConnector"], **kwargs):
- """
- :keyword value: Array of data connectors. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.DataConnector]
- """
- super().__init__(**kwargs)
- self.next_link = None
- self.value = value
-
-
-class DataConnectorRequirementsState(_serialization.Model):
- """Data connector requirements status.
-
- :ivar authorization_state: Authorization state for this connector. Known values are: "Valid"
- and "Invalid".
- :vartype authorization_state: str or
- ~azure.mgmt.securityinsight.models.DataConnectorAuthorizationState
- :ivar license_state: License state for this connector. Known values are: "Valid", "Invalid",
- and "Unknown".
- :vartype license_state: str or ~azure.mgmt.securityinsight.models.DataConnectorLicenseState
- """
-
_attribute_map = {
- "authorization_state": {"key": "authorizationState", "type": "str"},
- "license_state": {"key": "licenseState", "type": "str"},
+ "parameters": {"key": "parameters", "type": "object"},
+ "type": {"key": "type", "type": "str"},
}
def __init__(
- self,
- *,
- authorization_state: Optional[Union[str, "_models.DataConnectorAuthorizationState"]] = None,
- license_state: Optional[Union[str, "_models.DataConnectorLicenseState"]] = None,
- **kwargs
- ):
+ self, *, type: Union[str, "_models.SettingType"], parameters: Optional[JSON] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword authorization_state: Authorization state for this connector. Known values are: "Valid"
- and "Invalid".
- :paramtype authorization_state: str or
- ~azure.mgmt.securityinsight.models.DataConnectorAuthorizationState
- :keyword license_state: License state for this connector. Known values are: "Valid", "Invalid",
- and "Unknown".
- :paramtype license_state: str or ~azure.mgmt.securityinsight.models.DataConnectorLicenseState
+ :keyword parameters: The parameters for the setting.
+ :paramtype parameters: JSON
+ :keyword type: The kind of the setting. Required. Known values are: "CopyableLabel",
+ "InstructionStepsGroup", and "InfoMessage".
+ :paramtype type: str or ~azure.mgmt.securityinsight.models.SettingType
"""
super().__init__(**kwargs)
- self.authorization_state = authorization_state
- self.license_state = license_state
+ self.parameters = parameters
+ self.type = type
-class DataTypeDefinitions(_serialization.Model):
- """The data type definition.
+class CountQuery(_serialization.Model):
+ """Represents a query to run on the TI objects in the workspace.
- :ivar data_type: The data type name.
- :vartype data_type: str
+ :ivar condition: Represents a condition used to query for TI objects.
+ :vartype condition: ~azure.mgmt.securityinsight.models.ConditionProperties
"""
_attribute_map = {
- "data_type": {"key": "dataType", "type": "str"},
+ "condition": {"key": "properties.condition", "type": "ConditionProperties"},
}
- def __init__(self, *, data_type: Optional[str] = None, **kwargs):
+ def __init__(self, *, condition: Optional["_models.ConditionProperties"] = None, **kwargs: Any) -> None:
"""
- :keyword data_type: The data type name.
- :paramtype data_type: str
+ :keyword condition: Represents a condition used to query for TI objects.
+ :paramtype condition: ~azure.mgmt.securityinsight.models.ConditionProperties
"""
super().__init__(**kwargs)
- self.data_type = data_type
+ self.condition = condition
-class Deployment(_serialization.Model):
- """Description about a deployment.
+class CustomizableConnectionsConfig(_serialization.Model):
+ """The UiConfig for 'Customizable' connector definition kind.
- :ivar deployment_id: Deployment identifier.
- :vartype deployment_id: str
- :ivar deployment_state: Current status of the deployment. Known values are: "In_Progress",
- "Completed", "Queued", and "Canceling".
- :vartype deployment_state: str or ~azure.mgmt.securityinsight.models.DeploymentState
- :ivar deployment_result: The outcome of the deployment. Known values are: "Success",
- "Canceled", and "Failed".
- :vartype deployment_result: str or ~azure.mgmt.securityinsight.models.DeploymentResult
- :ivar deployment_time: The time when the deployment finished.
- :vartype deployment_time: ~datetime.datetime
- :ivar deployment_logs_url: Url to access repository action logs.
- :vartype deployment_logs_url: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar template_spec_name: Gets or sets the template name. The template includes ARM templates
+ that can be created by the connector, usually it will be the dataConnectors ARM templates.
+ Required.
+ :vartype template_spec_name: str
+ :ivar template_spec_version: Gets or sets the template version. Required.
+ :vartype template_spec_version: str
"""
- _attribute_map = {
- "deployment_id": {"key": "deploymentId", "type": "str"},
- "deployment_state": {"key": "deploymentState", "type": "str"},
- "deployment_result": {"key": "deploymentResult", "type": "str"},
- "deployment_time": {"key": "deploymentTime", "type": "iso-8601"},
- "deployment_logs_url": {"key": "deploymentLogsUrl", "type": "str"},
+ _validation = {
+ "template_spec_name": {"required": True},
+ "template_spec_version": {"required": True},
}
- def __init__(
- self,
- *,
- deployment_id: Optional[str] = None,
- deployment_state: Optional[Union[str, "_models.DeploymentState"]] = None,
- deployment_result: Optional[Union[str, "_models.DeploymentResult"]] = None,
- deployment_time: Optional[datetime.datetime] = None,
- deployment_logs_url: Optional[str] = None,
- **kwargs
- ):
- """
- :keyword deployment_id: Deployment identifier.
- :paramtype deployment_id: str
- :keyword deployment_state: Current status of the deployment. Known values are: "In_Progress",
- "Completed", "Queued", and "Canceling".
- :paramtype deployment_state: str or ~azure.mgmt.securityinsight.models.DeploymentState
- :keyword deployment_result: The outcome of the deployment. Known values are: "Success",
- "Canceled", and "Failed".
- :paramtype deployment_result: str or ~azure.mgmt.securityinsight.models.DeploymentResult
- :keyword deployment_time: The time when the deployment finished.
- :paramtype deployment_time: ~datetime.datetime
- :keyword deployment_logs_url: Url to access repository action logs.
- :paramtype deployment_logs_url: str
- """
- super().__init__(**kwargs)
- self.deployment_id = deployment_id
- self.deployment_state = deployment_state
- self.deployment_result = deployment_result
- self.deployment_time = deployment_time
- self.deployment_logs_url = deployment_logs_url
-
-
-class DeploymentInfo(_serialization.Model):
- """Information regarding a deployment.
-
- :ivar deployment_fetch_status: Status while fetching the last deployment. Known values are:
- "Success", "Unauthorized", and "NotFound".
- :vartype deployment_fetch_status: str or
- ~azure.mgmt.securityinsight.models.DeploymentFetchStatus
- :ivar deployment: Deployment information.
- :vartype deployment: ~azure.mgmt.securityinsight.models.Deployment
- :ivar message: Additional details about the deployment that can be shown to the user.
- :vartype message: str
- """
-
_attribute_map = {
- "deployment_fetch_status": {"key": "deploymentFetchStatus", "type": "str"},
- "deployment": {"key": "deployment", "type": "Deployment"},
- "message": {"key": "message", "type": "str"},
+ "template_spec_name": {"key": "templateSpecName", "type": "str"},
+ "template_spec_version": {"key": "templateSpecVersion", "type": "str"},
}
- def __init__(
- self,
- *,
- deployment_fetch_status: Optional[Union[str, "_models.DeploymentFetchStatus"]] = None,
- deployment: Optional["_models.Deployment"] = None,
- message: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, template_spec_name: str, template_spec_version: str, **kwargs: Any) -> None:
"""
- :keyword deployment_fetch_status: Status while fetching the last deployment. Known values are:
- "Success", "Unauthorized", and "NotFound".
- :paramtype deployment_fetch_status: str or
- ~azure.mgmt.securityinsight.models.DeploymentFetchStatus
- :keyword deployment: Deployment information.
- :paramtype deployment: ~azure.mgmt.securityinsight.models.Deployment
- :keyword message: Additional details about the deployment that can be shown to the user.
- :paramtype message: str
+ :keyword template_spec_name: Gets or sets the template name. The template includes ARM
+ templates that can be created by the connector, usually it will be the dataConnectors ARM
+ templates. Required.
+ :paramtype template_spec_name: str
+ :keyword template_spec_version: Gets or sets the template version. Required.
+ :paramtype template_spec_version: str
"""
super().__init__(**kwargs)
- self.deployment_fetch_status = deployment_fetch_status
- self.deployment = deployment
- self.message = message
+ self.template_spec_name = template_spec_name
+ self.template_spec_version = template_spec_version
-class DnsEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a dns entity.
+class DataConnectorDefinition(ResourceWithEtag):
+ """An Azure resource, which encapsulate the entire info requires to display a data connector page
+ in Azure portal,
+ and the info required to define data connections.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ CustomizableConnectorDefinition
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -6471,25 +7224,10 @@ class DnsEntity(Entity): # pylint: disable=too-many-instance-attributes
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar dns_server_ip_entity_id: An ip entity id for the dns server resolving the request.
- :vartype dns_server_ip_entity_id: str
- :ivar domain_name: The name of the dns record associated with the alert.
- :vartype domain_name: str
- :ivar host_ip_address_entity_id: An ip entity id for the dns request client.
- :vartype host_ip_address_entity_id: str
- :ivar ip_address_entity_ids: Ip entity identifiers for the resolved ip address.
- :vartype ip_address_entity_ids: list[str]
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. "Customizable"
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorDefinitionKind
"""
_validation = {
@@ -6498,12 +7236,6 @@ class DnsEntity(Entity): # pylint: disable=too-many-instance-attributes
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "dns_server_ip_entity_id": {"readonly": True},
- "domain_name": {"readonly": True},
- "host_ip_address_entity_id": {"readonly": True},
- "ip_address_entity_ids": {"readonly": True},
}
_attribute_map = {
@@ -6511,145 +7243,30 @@ class DnsEntity(Entity): # pylint: disable=too-many-instance-attributes
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "dns_server_ip_entity_id": {"key": "properties.dnsServerIpEntityId", "type": "str"},
- "domain_name": {"key": "properties.domainName", "type": "str"},
- "host_ip_address_entity_id": {"key": "properties.hostIpAddressEntityId", "type": "str"},
- "ip_address_entity_ids": {"key": "properties.ipAddressEntityIds", "type": "[str]"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.kind: str = "DnsResolution"
- self.additional_data = None
- self.friendly_name = None
- self.dns_server_ip_entity_id = None
- self.domain_name = None
- self.host_ip_address_entity_id = None
- self.ip_address_entity_ids = None
-
-
-class DnsEntityProperties(EntityCommonProperties):
- """Dns entity property bag.
-
- Variables are only populated by the server, and will be ignored when sending a request.
-
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar dns_server_ip_entity_id: An ip entity id for the dns server resolving the request.
- :vartype dns_server_ip_entity_id: str
- :ivar domain_name: The name of the dns record associated with the alert.
- :vartype domain_name: str
- :ivar host_ip_address_entity_id: An ip entity id for the dns request client.
- :vartype host_ip_address_entity_id: str
- :ivar ip_address_entity_ids: Ip entity identifiers for the resolved ip address.
- :vartype ip_address_entity_ids: list[str]
- """
-
- _validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "dns_server_ip_entity_id": {"readonly": True},
- "domain_name": {"readonly": True},
- "host_ip_address_entity_id": {"readonly": True},
- "ip_address_entity_ids": {"readonly": True},
- }
-
- _attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "dns_server_ip_entity_id": {"key": "dnsServerIpEntityId", "type": "str"},
- "domain_name": {"key": "domainName", "type": "str"},
- "host_ip_address_entity_id": {"key": "hostIpAddressEntityId", "type": "str"},
- "ip_address_entity_ids": {"key": "ipAddressEntityIds", "type": "[str]"},
- }
-
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.dns_server_ip_entity_id = None
- self.domain_name = None
- self.host_ip_address_entity_id = None
- self.ip_address_entity_ids = None
-
-
-class Dynamics365CheckRequirements(DataConnectorsCheckRequirements):
- """Represents Dynamics365 requirements check request.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- """
-
- _validation = {
- "kind": {"required": True},
- }
-
- _attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- """
- super().__init__(**kwargs)
- self.kind: str = "Dynamics365"
- self.tenant_id = tenant_id
-
-
-class Dynamics365CheckRequirementsProperties(DataConnectorTenantId):
- """Dynamics365 requirements check properties.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- """
-
- _validation = {
- "tenant_id": {"required": True},
- }
+ _subtype_map = {"kind": {"Customizable": "CustomizableConnectorDefinition"}}
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(etag=etag, **kwargs)
+ self.kind: Optional[str] = None
-class Dynamics365DataConnector(DataConnector):
- """Represents Dynamics365 data connector.
+class CustomizableConnectorDefinition(DataConnectorDefinition):
+ """Connector definition for kind 'Customizable'.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -6661,18 +7278,17 @@ class Dynamics365DataConnector(DataConnector):
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
+ :ivar kind: The data connector kind. Required. "Customizable"
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorDefinitionKind
+ :ivar created_time_utc: Gets or sets the connector definition created date in UTC format.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar last_modified_utc: Gets or sets the connector definition last modified date in UTC
+ format.
+ :vartype last_modified_utc: ~datetime.datetime
+ :ivar connector_ui_config: The UiConfig for 'Customizable' connector definition kind.
+ :vartype connector_ui_config: ~azure.mgmt.securityinsight.models.CustomizableConnectorUiConfig
+ :ivar connections_config: The UiConfig for 'Customizable' connector definition kind.
+ :vartype connections_config: ~azure.mgmt.securityinsight.models.CustomizableConnectionsConfig
"""
_validation = {
@@ -6690,582 +7306,626 @@ class Dynamics365DataConnector(DataConnector):
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "Dynamics365DataConnectorDataTypes"},
+ "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
+ "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ "connector_ui_config": {"key": "properties.connectorUiConfig", "type": "CustomizableConnectorUiConfig"},
+ "connections_config": {"key": "properties.connectionsConfig", "type": "CustomizableConnectionsConfig"},
}
def __init__(
self,
*,
etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.Dynamics365DataConnectorDataTypes"] = None,
- **kwargs
- ):
+ created_time_utc: Optional[datetime.datetime] = None,
+ last_modified_utc: Optional[datetime.datetime] = None,
+ connector_ui_config: Optional["_models.CustomizableConnectorUiConfig"] = None,
+ connections_config: Optional["_models.CustomizableConnectionsConfig"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
+ :keyword created_time_utc: Gets or sets the connector definition created date in UTC format.
+ :paramtype created_time_utc: ~datetime.datetime
+ :keyword last_modified_utc: Gets or sets the connector definition last modified date in UTC
+ format.
+ :paramtype last_modified_utc: ~datetime.datetime
+ :keyword connector_ui_config: The UiConfig for 'Customizable' connector definition kind.
+ :paramtype connector_ui_config:
+ ~azure.mgmt.securityinsight.models.CustomizableConnectorUiConfig
+ :keyword connections_config: The UiConfig for 'Customizable' connector definition kind.
+ :paramtype connections_config: ~azure.mgmt.securityinsight.models.CustomizableConnectionsConfig
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "Dynamics365"
- self.tenant_id = tenant_id
- self.data_types = data_types
+ self.kind: str = "Customizable"
+ self.created_time_utc = created_time_utc
+ self.last_modified_utc = last_modified_utc
+ self.connector_ui_config = connector_ui_config
+ self.connections_config = connections_config
-class Dynamics365DataConnectorDataTypes(_serialization.Model):
- """The available data types for Dynamics365 data connector.
+class CustomizableConnectorUiConfig(_serialization.Model):
+ """The UiConfig for 'Customizable' connector definition kind.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar dynamics365_cds_activities: Common Data Service data type connection. Required.
- :vartype dynamics365_cds_activities:
- ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities
+ :ivar id: Gets or sets custom connector id. optional field.
+ :vartype id: str
+ :ivar title: Gets or sets the connector blade title. Required.
+ :vartype title: str
+ :ivar publisher: Gets or sets the connector publisher name. Required.
+ :vartype publisher: str
+ :ivar description_markdown: Gets or sets the connector description in markdown format.
+ Required.
+ :vartype description_markdown: str
+ :ivar graph_queries: Gets or sets the graph queries to show the current data volume over time.
+ Required.
+ :vartype graph_queries: list[~azure.mgmt.securityinsight.models.GraphQuery]
+ :ivar data_types: Gets or sets the data types to check for last data received. Required.
+ :vartype data_types: list[~azure.mgmt.securityinsight.models.ConnectorDataType]
+ :ivar connectivity_criteria: Gets or sets the way the connector checks whether the connector is
+ connected. Required.
+ :vartype connectivity_criteria: list[~azure.mgmt.securityinsight.models.ConnectivityCriterion]
+ :ivar availability: The exposure status of the connector to the customers.
+ :vartype availability: ~azure.mgmt.securityinsight.models.ConnectorDefinitionsAvailability
+ :ivar permissions: The required Permissions for the connector. Required.
+ :vartype permissions: ~azure.mgmt.securityinsight.models.ConnectorDefinitionsPermissions
+ :ivar instruction_steps: Gets or sets the instruction steps to enable the connector. Required.
+ :vartype instruction_steps: list[~azure.mgmt.securityinsight.models.InstructionStep]
+ :ivar logo: Gets or sets the connector logo to be used when displaying the connector within
+ Azure Sentinel's connector's gallery.
+ The logo value should be in SVG format.
+ :vartype logo: str
+ :ivar is_connectivity_criterias_match_some: Gets or sets a value indicating whether to use
+ 'OR'(SOME) or 'AND' between ConnectivityCriteria items.
+ :vartype is_connectivity_criterias_match_some: bool
"""
_validation = {
- "dynamics365_cds_activities": {"required": True},
+ "title": {"required": True},
+ "publisher": {"required": True},
+ "description_markdown": {"required": True},
+ "graph_queries": {"required": True},
+ "data_types": {"required": True},
+ "connectivity_criteria": {"required": True},
+ "permissions": {"required": True},
+ "instruction_steps": {"required": True},
}
_attribute_map = {
- "dynamics365_cds_activities": {
- "key": "dynamics365CdsActivities",
- "type": "Dynamics365DataConnectorDataTypesDynamics365CdsActivities",
- },
+ "id": {"key": "id", "type": "str"},
+ "title": {"key": "title", "type": "str"},
+ "publisher": {"key": "publisher", "type": "str"},
+ "description_markdown": {"key": "descriptionMarkdown", "type": "str"},
+ "graph_queries": {"key": "graphQueries", "type": "[GraphQuery]"},
+ "data_types": {"key": "dataTypes", "type": "[ConnectorDataType]"},
+ "connectivity_criteria": {"key": "connectivityCriteria", "type": "[ConnectivityCriterion]"},
+ "availability": {"key": "availability", "type": "ConnectorDefinitionsAvailability"},
+ "permissions": {"key": "permissions", "type": "ConnectorDefinitionsPermissions"},
+ "instruction_steps": {"key": "instructionSteps", "type": "[InstructionStep]"},
+ "logo": {"key": "logo", "type": "str"},
+ "is_connectivity_criterias_match_some": {"key": "isConnectivityCriteriasMatchSome", "type": "bool"},
}
def __init__(
self,
*,
- dynamics365_cds_activities: "_models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities",
- **kwargs
- ):
- """
- :keyword dynamics365_cds_activities: Common Data Service data type connection. Required.
- :paramtype dynamics365_cds_activities:
- ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities
+ title: str,
+ publisher: str,
+ description_markdown: str,
+ graph_queries: List["_models.GraphQuery"],
+ data_types: List["_models.ConnectorDataType"],
+ connectivity_criteria: List["_models.ConnectivityCriterion"],
+ permissions: "_models.ConnectorDefinitionsPermissions",
+ instruction_steps: List["_models.InstructionStep"],
+ id: Optional[str] = None, # pylint: disable=redefined-builtin
+ availability: Optional["_models.ConnectorDefinitionsAvailability"] = None,
+ logo: Optional[str] = None,
+ is_connectivity_criterias_match_some: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword id: Gets or sets custom connector id. optional field.
+ :paramtype id: str
+ :keyword title: Gets or sets the connector blade title. Required.
+ :paramtype title: str
+ :keyword publisher: Gets or sets the connector publisher name. Required.
+ :paramtype publisher: str
+ :keyword description_markdown: Gets or sets the connector description in markdown format.
+ Required.
+ :paramtype description_markdown: str
+ :keyword graph_queries: Gets or sets the graph queries to show the current data volume over
+ time. Required.
+ :paramtype graph_queries: list[~azure.mgmt.securityinsight.models.GraphQuery]
+ :keyword data_types: Gets or sets the data types to check for last data received. Required.
+ :paramtype data_types: list[~azure.mgmt.securityinsight.models.ConnectorDataType]
+ :keyword connectivity_criteria: Gets or sets the way the connector checks whether the connector
+ is connected. Required.
+ :paramtype connectivity_criteria:
+ list[~azure.mgmt.securityinsight.models.ConnectivityCriterion]
+ :keyword availability: The exposure status of the connector to the customers.
+ :paramtype availability: ~azure.mgmt.securityinsight.models.ConnectorDefinitionsAvailability
+ :keyword permissions: The required Permissions for the connector. Required.
+ :paramtype permissions: ~azure.mgmt.securityinsight.models.ConnectorDefinitionsPermissions
+ :keyword instruction_steps: Gets or sets the instruction steps to enable the connector.
+ Required.
+ :paramtype instruction_steps: list[~azure.mgmt.securityinsight.models.InstructionStep]
+ :keyword logo: Gets or sets the connector logo to be used when displaying the connector within
+ Azure Sentinel's connector's gallery.
+ The logo value should be in SVG format.
+ :paramtype logo: str
+ :keyword is_connectivity_criterias_match_some: Gets or sets a value indicating whether to use
+ 'OR'(SOME) or 'AND' between ConnectivityCriteria items.
+ :paramtype is_connectivity_criterias_match_some: bool
"""
super().__init__(**kwargs)
- self.dynamics365_cds_activities = dynamics365_cds_activities
+ self.id = id
+ self.title = title
+ self.publisher = publisher
+ self.description_markdown = description_markdown
+ self.graph_queries = graph_queries
+ self.data_types = data_types
+ self.connectivity_criteria = connectivity_criteria
+ self.availability = availability
+ self.permissions = permissions
+ self.instruction_steps = instruction_steps
+ self.logo = logo
+ self.is_connectivity_criterias_match_some = is_connectivity_criterias_match_some
-class Dynamics365DataConnectorDataTypesDynamics365CdsActivities(DataConnectorDataTypeCommon):
- """Common Data Service data type connection.
+class CustomPermissionDetails(_serialization.Model):
+ """The Custom permissions required for the connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar name: Gets or sets the custom permissions name. Required.
+ :vartype name: str
+ :ivar description: Gets or sets the custom permissions description. Required.
+ :vartype description: str
"""
_validation = {
- "state": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__(self, *, name: str, description: str, **kwargs: Any) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword name: Gets or sets the custom permissions name. Required.
+ :paramtype name: str
+ :keyword description: Gets or sets the custom permissions description. Required.
+ :paramtype description: str
"""
- super().__init__(state=state, **kwargs)
-
+ super().__init__(**kwargs)
+ self.name = name
+ self.description = description
-class Dynamics365DataConnectorProperties(DataConnectorTenantId):
- """Dynamics365 data connector properties.
- All required parameters must be populated in order to send to Azure.
+class CustomsPermission(_serialization.Model):
+ """Customs permissions required for the connector.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
+ :ivar name: Customs permissions name.
+ :vartype name: str
+ :ivar description: Customs permissions description.
+ :vartype description: str
"""
- _validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
- }
-
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "Dynamics365DataConnectorDataTypes"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.Dynamics365DataConnectorDataTypes", **kwargs):
+ def __init__(self, *, name: Optional[str] = None, description: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
+ :keyword name: Customs permissions name.
+ :paramtype name: str
+ :keyword description: Customs permissions description.
+ :paramtype description: str
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ super().__init__(**kwargs)
+ self.name = name
+ self.description = description
-class EnrichmentDomainWhois(_serialization.Model):
- """Whois information for a given domain and associated metadata.
+class Customs(CustomsPermission):
+ """Customs permissions required for the connector.
- :ivar domain: The domain for this whois record.
- :vartype domain: str
- :ivar server: The hostname of this registrar's whois server.
- :vartype server: str
- :ivar created: The timestamp at which this record was created.
- :vartype created: ~datetime.datetime
- :ivar updated: The timestamp at which this record was last updated.
- :vartype updated: ~datetime.datetime
- :ivar expires: The timestamp at which this record will expire.
- :vartype expires: ~datetime.datetime
- :ivar parsed_whois: The whois record for a given domain.
- :vartype parsed_whois: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisDetails
+ :ivar name: Customs permissions name.
+ :vartype name: str
+ :ivar description: Customs permissions description.
+ :vartype description: str
+ """
+
+
+class DataConnectorConnectBody(_serialization.Model):
+ """Represents Codeless API Polling data connector.
+
+ :ivar kind: The authentication kind used to poll the data. Known values are: "Basic", "OAuth2",
+ and "APIKey".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ConnectAuthKind
+ :ivar api_key: The API key of the audit server.
+ :vartype api_key: str
+ :ivar data_collection_endpoint: Used in v2 logs connector. Represents the data collection
+ ingestion endpoint in log analytics.
+ :vartype data_collection_endpoint: str
+ :ivar data_collection_rule_immutable_id: Used in v2 logs connector. The data collection rule
+ immutable id, the rule defines the transformation and data destination.
+ :vartype data_collection_rule_immutable_id: str
+ :ivar output_stream: Used in v2 logs connector. The stream we are sending the data to, this is
+ the name of the streamDeclarations defined in the DCR.
+ :vartype output_stream: str
+ :ivar client_secret: The client secret of the OAuth 2.0 application.
+ :vartype client_secret: str
+ :ivar client_id: The client id of the OAuth 2.0 application.
+ :vartype client_id: str
+ :ivar authorization_code: The authorization code used in OAuth 2.0 code flow to issue a token.
+ :vartype authorization_code: str
+ :ivar user_name: The user name in the audit log server.
+ :vartype user_name: str
+ :ivar password: The user password in the audit log server.
+ :vartype password: str
+ :ivar request_config_user_input_values:
+ :vartype request_config_user_input_values: list[JSON]
"""
_attribute_map = {
- "domain": {"key": "domain", "type": "str"},
- "server": {"key": "server", "type": "str"},
- "created": {"key": "created", "type": "iso-8601"},
- "updated": {"key": "updated", "type": "iso-8601"},
- "expires": {"key": "expires", "type": "iso-8601"},
- "parsed_whois": {"key": "parsedWhois", "type": "EnrichmentDomainWhoisDetails"},
+ "kind": {"key": "kind", "type": "str"},
+ "api_key": {"key": "apiKey", "type": "str"},
+ "data_collection_endpoint": {"key": "dataCollectionEndpoint", "type": "str"},
+ "data_collection_rule_immutable_id": {"key": "dataCollectionRuleImmutableId", "type": "str"},
+ "output_stream": {"key": "outputStream", "type": "str"},
+ "client_secret": {"key": "clientSecret", "type": "str"},
+ "client_id": {"key": "clientId", "type": "str"},
+ "authorization_code": {"key": "authorizationCode", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ "password": {"key": "password", "type": "str"},
+ "request_config_user_input_values": {"key": "requestConfigUserInputValues", "type": "[object]"},
}
def __init__(
self,
*,
- domain: Optional[str] = None,
- server: Optional[str] = None,
- created: Optional[datetime.datetime] = None,
- updated: Optional[datetime.datetime] = None,
- expires: Optional[datetime.datetime] = None,
- parsed_whois: Optional["_models.EnrichmentDomainWhoisDetails"] = None,
- **kwargs
- ):
+ kind: Optional[Union[str, "_models.ConnectAuthKind"]] = None,
+ api_key: Optional[str] = None,
+ data_collection_endpoint: Optional[str] = None,
+ data_collection_rule_immutable_id: Optional[str] = None,
+ output_stream: Optional[str] = None,
+ client_secret: Optional[str] = None,
+ client_id: Optional[str] = None,
+ authorization_code: Optional[str] = None,
+ user_name: Optional[str] = None,
+ password: Optional[str] = None,
+ request_config_user_input_values: Optional[List[JSON]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword domain: The domain for this whois record.
- :paramtype domain: str
- :keyword server: The hostname of this registrar's whois server.
- :paramtype server: str
- :keyword created: The timestamp at which this record was created.
- :paramtype created: ~datetime.datetime
- :keyword updated: The timestamp at which this record was last updated.
- :paramtype updated: ~datetime.datetime
- :keyword expires: The timestamp at which this record will expire.
- :paramtype expires: ~datetime.datetime
- :keyword parsed_whois: The whois record for a given domain.
- :paramtype parsed_whois: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisDetails
+ :keyword kind: The authentication kind used to poll the data. Known values are: "Basic",
+ "OAuth2", and "APIKey".
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.ConnectAuthKind
+ :keyword api_key: The API key of the audit server.
+ :paramtype api_key: str
+ :keyword data_collection_endpoint: Used in v2 logs connector. Represents the data collection
+ ingestion endpoint in log analytics.
+ :paramtype data_collection_endpoint: str
+ :keyword data_collection_rule_immutable_id: Used in v2 logs connector. The data collection rule
+ immutable id, the rule defines the transformation and data destination.
+ :paramtype data_collection_rule_immutable_id: str
+ :keyword output_stream: Used in v2 logs connector. The stream we are sending the data to, this
+ is the name of the streamDeclarations defined in the DCR.
+ :paramtype output_stream: str
+ :keyword client_secret: The client secret of the OAuth 2.0 application.
+ :paramtype client_secret: str
+ :keyword client_id: The client id of the OAuth 2.0 application.
+ :paramtype client_id: str
+ :keyword authorization_code: The authorization code used in OAuth 2.0 code flow to issue a
+ token.
+ :paramtype authorization_code: str
+ :keyword user_name: The user name in the audit log server.
+ :paramtype user_name: str
+ :keyword password: The user password in the audit log server.
+ :paramtype password: str
+ :keyword request_config_user_input_values:
+ :paramtype request_config_user_input_values: list[JSON]
"""
super().__init__(**kwargs)
- self.domain = domain
- self.server = server
- self.created = created
- self.updated = updated
- self.expires = expires
- self.parsed_whois = parsed_whois
+ self.kind = kind
+ self.api_key = api_key
+ self.data_collection_endpoint = data_collection_endpoint
+ self.data_collection_rule_immutable_id = data_collection_rule_immutable_id
+ self.output_stream = output_stream
+ self.client_secret = client_secret
+ self.client_id = client_id
+ self.authorization_code = authorization_code
+ self.user_name = user_name
+ self.password = password
+ self.request_config_user_input_values = request_config_user_input_values
-class EnrichmentDomainWhoisContact(_serialization.Model):
- """An individual contact associated with this domain.
+class DataConnectorDefinitionArmCollectionWrapper(_serialization.Model): # pylint: disable=name-too-long
+ """Encapsulate the data connector definition object.
- :ivar name: The name of this contact.
- :vartype name: str
- :ivar org: The organization for this contact.
- :vartype org: str
- :ivar street: A list describing the street address for this contact.
- :vartype street: list[str]
- :ivar city: The city for this contact.
- :vartype city: str
- :ivar state: The state for this contact.
- :vartype state: str
- :ivar postal: The postal code for this contact.
- :vartype postal: str
- :ivar country: The country for this contact.
- :vartype country: str
- :ivar phone: The phone number for this contact.
- :vartype phone: str
- :ivar fax: The fax number for this contact.
- :vartype fax: str
- :ivar email: The email address for this contact.
- :vartype email: str
+ :ivar value:
+ :vartype value: list[~azure.mgmt.securityinsight.models.DataConnectorDefinition]
+ :ivar next_link:
+ :vartype next_link: str
"""
_attribute_map = {
- "name": {"key": "name", "type": "str"},
- "org": {"key": "org", "type": "str"},
- "street": {"key": "street", "type": "[str]"},
- "city": {"key": "city", "type": "str"},
- "state": {"key": "state", "type": "str"},
- "postal": {"key": "postal", "type": "str"},
- "country": {"key": "country", "type": "str"},
- "phone": {"key": "phone", "type": "str"},
- "fax": {"key": "fax", "type": "str"},
- "email": {"key": "email", "type": "str"},
+ "value": {"key": "value", "type": "[DataConnectorDefinition]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self,
*,
- name: Optional[str] = None,
- org: Optional[str] = None,
- street: Optional[List[str]] = None,
- city: Optional[str] = None,
- state: Optional[str] = None,
- postal: Optional[str] = None,
- country: Optional[str] = None,
- phone: Optional[str] = None,
- fax: Optional[str] = None,
- email: Optional[str] = None,
- **kwargs
- ):
+ value: Optional[List["_models.DataConnectorDefinition"]] = None,
+ next_link: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword name: The name of this contact.
- :paramtype name: str
- :keyword org: The organization for this contact.
- :paramtype org: str
- :keyword street: A list describing the street address for this contact.
- :paramtype street: list[str]
- :keyword city: The city for this contact.
- :paramtype city: str
- :keyword state: The state for this contact.
- :paramtype state: str
- :keyword postal: The postal code for this contact.
- :paramtype postal: str
- :keyword country: The country for this contact.
- :paramtype country: str
- :keyword phone: The phone number for this contact.
- :paramtype phone: str
- :keyword fax: The fax number for this contact.
- :paramtype fax: str
- :keyword email: The email address for this contact.
- :paramtype email: str
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.securityinsight.models.DataConnectorDefinition]
+ :keyword next_link:
+ :paramtype next_link: str
"""
super().__init__(**kwargs)
- self.name = name
- self.org = org
- self.street = street
- self.city = city
- self.state = state
- self.postal = postal
- self.country = country
- self.phone = phone
- self.fax = fax
- self.email = email
+ self.value = value
+ self.next_link = next_link
-class EnrichmentDomainWhoisContacts(_serialization.Model):
- """The set of contacts associated with this domain.
+class DataConnectorList(_serialization.Model):
+ """List all the data connectors.
- :ivar admin: The admin contact for this whois record.
- :vartype admin: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :ivar billing: The billing contact for this whois record.
- :vartype billing: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :ivar registrant: The registrant contact for this whois record.
- :vartype registrant: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :ivar tech: The technical contact for this whois record.
- :vartype tech: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of data connectors.
+ :vartype next_link: str
+ :ivar value: Array of data connectors. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.DataConnector]
"""
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
_attribute_map = {
- "admin": {"key": "admin", "type": "EnrichmentDomainWhoisContact"},
- "billing": {"key": "billing", "type": "EnrichmentDomainWhoisContact"},
- "registrant": {"key": "registrant", "type": "EnrichmentDomainWhoisContact"},
- "tech": {"key": "tech", "type": "EnrichmentDomainWhoisContact"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[DataConnector]"},
}
- def __init__(
- self,
- *,
- admin: Optional["_models.EnrichmentDomainWhoisContact"] = None,
- billing: Optional["_models.EnrichmentDomainWhoisContact"] = None,
- registrant: Optional["_models.EnrichmentDomainWhoisContact"] = None,
- tech: Optional["_models.EnrichmentDomainWhoisContact"] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.DataConnector"], **kwargs: Any) -> None:
"""
- :keyword admin: The admin contact for this whois record.
- :paramtype admin: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :keyword billing: The billing contact for this whois record.
- :paramtype billing: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :keyword registrant: The registrant contact for this whois record.
- :paramtype registrant: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
- :keyword tech: The technical contact for this whois record.
- :paramtype tech: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :keyword value: Array of data connectors. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.DataConnector]
"""
super().__init__(**kwargs)
- self.admin = admin
- self.billing = billing
- self.registrant = registrant
- self.tech = tech
+ self.next_link = None
+ self.value = value
-class EnrichmentDomainWhoisDetails(_serialization.Model):
- """The whois record for a given domain.
+class DataConnectorRequirementsState(_serialization.Model):
+ """Data connector requirements status.
- :ivar registrar: The registrar associated with this domain.
- :vartype registrar: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisRegistrarDetails
- :ivar contacts: The set of contacts associated with this domain.
- :vartype contacts: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContacts
- :ivar name_servers: A list of name servers associated with this domain.
- :vartype name_servers: list[str]
- :ivar statuses: The set of status flags for this whois record.
- :vartype statuses: list[str]
+ :ivar authorization_state: Authorization state for this connector. Known values are: "Valid"
+ and "Invalid".
+ :vartype authorization_state: str or
+ ~azure.mgmt.securityinsight.models.DataConnectorAuthorizationState
+ :ivar license_state: License state for this connector. Known values are: "Valid", "Invalid",
+ and "Unknown".
+ :vartype license_state: str or ~azure.mgmt.securityinsight.models.DataConnectorLicenseState
"""
_attribute_map = {
- "registrar": {"key": "registrar", "type": "EnrichmentDomainWhoisRegistrarDetails"},
- "contacts": {"key": "contacts", "type": "EnrichmentDomainWhoisContacts"},
- "name_servers": {"key": "nameServers", "type": "[str]"},
- "statuses": {"key": "statuses", "type": "[str]"},
+ "authorization_state": {"key": "authorizationState", "type": "str"},
+ "license_state": {"key": "licenseState", "type": "str"},
}
def __init__(
self,
*,
- registrar: Optional["_models.EnrichmentDomainWhoisRegistrarDetails"] = None,
- contacts: Optional["_models.EnrichmentDomainWhoisContacts"] = None,
- name_servers: Optional[List[str]] = None,
- statuses: Optional[List[str]] = None,
- **kwargs
- ):
+ authorization_state: Optional[Union[str, "_models.DataConnectorAuthorizationState"]] = None,
+ license_state: Optional[Union[str, "_models.DataConnectorLicenseState"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword registrar: The registrar associated with this domain.
- :paramtype registrar: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisRegistrarDetails
- :keyword contacts: The set of contacts associated with this domain.
- :paramtype contacts: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContacts
- :keyword name_servers: A list of name servers associated with this domain.
- :paramtype name_servers: list[str]
- :keyword statuses: The set of status flags for this whois record.
- :paramtype statuses: list[str]
+ :keyword authorization_state: Authorization state for this connector. Known values are: "Valid"
+ and "Invalid".
+ :paramtype authorization_state: str or
+ ~azure.mgmt.securityinsight.models.DataConnectorAuthorizationState
+ :keyword license_state: License state for this connector. Known values are: "Valid", "Invalid",
+ and "Unknown".
+ :paramtype license_state: str or ~azure.mgmt.securityinsight.models.DataConnectorLicenseState
"""
super().__init__(**kwargs)
- self.registrar = registrar
- self.contacts = contacts
- self.name_servers = name_servers
- self.statuses = statuses
+ self.authorization_state = authorization_state
+ self.license_state = license_state
-class EnrichmentDomainWhoisRegistrarDetails(_serialization.Model):
- """The registrar associated with this domain.
+class DataTypeDefinitions(_serialization.Model):
+ """The data type definition.
- :ivar name: The name of this registrar.
- :vartype name: str
- :ivar abuse_contact_email: This registrar's abuse contact email.
- :vartype abuse_contact_email: str
- :ivar abuse_contact_phone: This registrar's abuse contact phone number.
- :vartype abuse_contact_phone: str
- :ivar iana_id: This registrar's Internet Assigned Numbers Authority id.
- :vartype iana_id: str
- :ivar url: This registrar's URL.
- :vartype url: str
- :ivar whois_server: The hostname of this registrar's whois server.
- :vartype whois_server: str
+ :ivar data_type: The data type name.
+ :vartype data_type: str
"""
_attribute_map = {
- "name": {"key": "name", "type": "str"},
- "abuse_contact_email": {"key": "abuseContactEmail", "type": "str"},
- "abuse_contact_phone": {"key": "abuseContactPhone", "type": "str"},
- "iana_id": {"key": "ianaId", "type": "str"},
- "url": {"key": "url", "type": "str"},
- "whois_server": {"key": "whoisServer", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
}
- def __init__(
- self,
- *,
- name: Optional[str] = None,
- abuse_contact_email: Optional[str] = None,
- abuse_contact_phone: Optional[str] = None,
- iana_id: Optional[str] = None,
- url: Optional[str] = None,
- whois_server: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, data_type: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword name: The name of this registrar.
- :paramtype name: str
- :keyword abuse_contact_email: This registrar's abuse contact email.
- :paramtype abuse_contact_email: str
- :keyword abuse_contact_phone: This registrar's abuse contact phone number.
- :paramtype abuse_contact_phone: str
- :keyword iana_id: This registrar's Internet Assigned Numbers Authority id.
- :paramtype iana_id: str
- :keyword url: This registrar's URL.
- :paramtype url: str
- :keyword whois_server: The hostname of this registrar's whois server.
- :paramtype whois_server: str
+ :keyword data_type: The data type name.
+ :paramtype data_type: str
"""
super().__init__(**kwargs)
- self.name = name
- self.abuse_contact_email = abuse_contact_email
- self.abuse_contact_phone = abuse_contact_phone
- self.iana_id = iana_id
- self.url = url
- self.whois_server = whois_server
+ self.data_type = data_type
-class EnrichmentIpGeodata(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Geodata information for a given IP address.
+class DCRConfiguration(_serialization.Model):
+ """The configuration of the destination of the data.
- :ivar asn: The autonomous system number associated with this IP address.
- :vartype asn: str
- :ivar carrier: The name of the carrier for this IP address.
- :vartype carrier: str
- :ivar city: The city this IP address is located in.
- :vartype city: str
- :ivar city_cf: A numeric rating of confidence that the value in the 'city' field is correct, on
- a scale of 0-100.
- :vartype city_cf: int
- :ivar continent: The continent this IP address is located on.
- :vartype continent: str
- :ivar country: The county this IP address is located in.
- :vartype country: str
- :ivar country_cf: A numeric rating of confidence that the value in the 'country' field is
- correct on a scale of 0-100.
- :vartype country_cf: int
- :ivar ip_addr: The dotted-decimal or colon-separated string representation of the IP address.
- :vartype ip_addr: str
- :ivar ip_routing_type: A description of the connection type of this IP address.
- :vartype ip_routing_type: str
- :ivar latitude: The latitude of this IP address.
- :vartype latitude: str
- :ivar longitude: The longitude of this IP address.
- :vartype longitude: str
- :ivar organization: The name of the organization for this IP address.
- :vartype organization: str
- :ivar organization_type: The type of the organization for this IP address.
- :vartype organization_type: str
- :ivar region: The geographic region this IP address is located in.
- :vartype region: str
- :ivar state: The state this IP address is located in.
- :vartype state: str
- :ivar state_cf: A numeric rating of confidence that the value in the 'state' field is correct
- on a scale of 0-100.
- :vartype state_cf: int
- :ivar state_code: The abbreviated name for the state this IP address is located in.
- :vartype state_code: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar data_collection_endpoint: Represents the data collection ingestion endpoint in log
+ analytics. Required.
+ :vartype data_collection_endpoint: str
+ :ivar data_collection_rule_immutable_id: The data collection rule immutable id, the rule
+ defines the transformation and data destination. Required.
+ :vartype data_collection_rule_immutable_id: str
+ :ivar stream_name: The stream we are sending the data to. Required.
+ :vartype stream_name: str
"""
+ _validation = {
+ "data_collection_endpoint": {"required": True},
+ "data_collection_rule_immutable_id": {"required": True},
+ "stream_name": {"required": True},
+ }
+
_attribute_map = {
- "asn": {"key": "asn", "type": "str"},
- "carrier": {"key": "carrier", "type": "str"},
- "city": {"key": "city", "type": "str"},
- "city_cf": {"key": "cityCf", "type": "int"},
- "continent": {"key": "continent", "type": "str"},
- "country": {"key": "country", "type": "str"},
- "country_cf": {"key": "countryCf", "type": "int"},
- "ip_addr": {"key": "ipAddr", "type": "str"},
- "ip_routing_type": {"key": "ipRoutingType", "type": "str"},
- "latitude": {"key": "latitude", "type": "str"},
- "longitude": {"key": "longitude", "type": "str"},
- "organization": {"key": "organization", "type": "str"},
- "organization_type": {"key": "organizationType", "type": "str"},
- "region": {"key": "region", "type": "str"},
- "state": {"key": "state", "type": "str"},
- "state_cf": {"key": "stateCf", "type": "int"},
- "state_code": {"key": "stateCode", "type": "str"},
+ "data_collection_endpoint": {"key": "dataCollectionEndpoint", "type": "str"},
+ "data_collection_rule_immutable_id": {"key": "dataCollectionRuleImmutableId", "type": "str"},
+ "stream_name": {"key": "streamName", "type": "str"},
}
def __init__(
- self,
- *,
- asn: Optional[str] = None,
- carrier: Optional[str] = None,
- city: Optional[str] = None,
- city_cf: Optional[int] = None,
- continent: Optional[str] = None,
- country: Optional[str] = None,
- country_cf: Optional[int] = None,
- ip_addr: Optional[str] = None,
- ip_routing_type: Optional[str] = None,
- latitude: Optional[str] = None,
- longitude: Optional[str] = None,
- organization: Optional[str] = None,
- organization_type: Optional[str] = None,
- region: Optional[str] = None,
- state: Optional[str] = None,
- state_cf: Optional[int] = None,
- state_code: Optional[str] = None,
- **kwargs
- ):
+ self, *, data_collection_endpoint: str, data_collection_rule_immutable_id: str, stream_name: str, **kwargs: Any
+ ) -> None:
"""
- :keyword asn: The autonomous system number associated with this IP address.
- :paramtype asn: str
- :keyword carrier: The name of the carrier for this IP address.
- :paramtype carrier: str
- :keyword city: The city this IP address is located in.
- :paramtype city: str
- :keyword city_cf: A numeric rating of confidence that the value in the 'city' field is correct,
- on a scale of 0-100.
- :paramtype city_cf: int
- :keyword continent: The continent this IP address is located on.
- :paramtype continent: str
- :keyword country: The county this IP address is located in.
- :paramtype country: str
- :keyword country_cf: A numeric rating of confidence that the value in the 'country' field is
- correct on a scale of 0-100.
- :paramtype country_cf: int
- :keyword ip_addr: The dotted-decimal or colon-separated string representation of the IP
- address.
- :paramtype ip_addr: str
- :keyword ip_routing_type: A description of the connection type of this IP address.
- :paramtype ip_routing_type: str
- :keyword latitude: The latitude of this IP address.
- :paramtype latitude: str
- :keyword longitude: The longitude of this IP address.
- :paramtype longitude: str
- :keyword organization: The name of the organization for this IP address.
- :paramtype organization: str
- :keyword organization_type: The type of the organization for this IP address.
- :paramtype organization_type: str
- :keyword region: The geographic region this IP address is located in.
- :paramtype region: str
- :keyword state: The state this IP address is located in.
- :paramtype state: str
- :keyword state_cf: A numeric rating of confidence that the value in the 'state' field is
- correct on a scale of 0-100.
- :paramtype state_cf: int
- :keyword state_code: The abbreviated name for the state this IP address is located in.
- :paramtype state_code: str
+ :keyword data_collection_endpoint: Represents the data collection ingestion endpoint in log
+ analytics. Required.
+ :paramtype data_collection_endpoint: str
+ :keyword data_collection_rule_immutable_id: The data collection rule immutable id, the rule
+ defines the transformation and data destination. Required.
+ :paramtype data_collection_rule_immutable_id: str
+ :keyword stream_name: The stream we are sending the data to. Required.
+ :paramtype stream_name: str
"""
super().__init__(**kwargs)
- self.asn = asn
- self.carrier = carrier
- self.city = city
- self.city_cf = city_cf
- self.continent = continent
- self.country = country
- self.country_cf = country_cf
- self.ip_addr = ip_addr
- self.ip_routing_type = ip_routing_type
- self.latitude = latitude
- self.longitude = longitude
- self.organization = organization
- self.organization_type = organization_type
- self.region = region
- self.state = state
- self.state_cf = state_cf
- self.state_code = state_code
+ self.data_collection_endpoint = data_collection_endpoint
+ self.data_collection_rule_immutable_id = data_collection_rule_immutable_id
+ self.stream_name = stream_name
-class EntityAnalytics(Settings):
- """Settings with single toggle.
+class Deployment(_serialization.Model):
+ """Description about a deployment.
- Variables are only populated by the server, and will be ignored when sending a request.
+ :ivar deployment_id: Deployment identifier.
+ :vartype deployment_id: str
+ :ivar deployment_state: Current status of the deployment. Known values are: "In_Progress",
+ "Completed", "Queued", and "Canceling".
+ :vartype deployment_state: str or ~azure.mgmt.securityinsight.models.DeploymentState
+ :ivar deployment_result: The outcome of the deployment. Known values are: "Success",
+ "Canceled", and "Failed".
+ :vartype deployment_result: str or ~azure.mgmt.securityinsight.models.DeploymentResult
+ :ivar deployment_time: The time when the deployment finished.
+ :vartype deployment_time: ~datetime.datetime
+ :ivar deployment_logs_url: Url to access repository action logs.
+ :vartype deployment_logs_url: str
+ """
- All required parameters must be populated in order to send to Azure.
+ _attribute_map = {
+ "deployment_id": {"key": "deploymentId", "type": "str"},
+ "deployment_state": {"key": "deploymentState", "type": "str"},
+ "deployment_result": {"key": "deploymentResult", "type": "str"},
+ "deployment_time": {"key": "deploymentTime", "type": "iso-8601"},
+ "deployment_logs_url": {"key": "deploymentLogsUrl", "type": "str"},
+ }
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
+ def __init__(
+ self,
+ *,
+ deployment_id: Optional[str] = None,
+ deployment_state: Optional[Union[str, "_models.DeploymentState"]] = None,
+ deployment_result: Optional[Union[str, "_models.DeploymentResult"]] = None,
+ deployment_time: Optional[datetime.datetime] = None,
+ deployment_logs_url: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword deployment_id: Deployment identifier.
+ :paramtype deployment_id: str
+ :keyword deployment_state: Current status of the deployment. Known values are: "In_Progress",
+ "Completed", "Queued", and "Canceling".
+ :paramtype deployment_state: str or ~azure.mgmt.securityinsight.models.DeploymentState
+ :keyword deployment_result: The outcome of the deployment. Known values are: "Success",
+ "Canceled", and "Failed".
+ :paramtype deployment_result: str or ~azure.mgmt.securityinsight.models.DeploymentResult
+ :keyword deployment_time: The time when the deployment finished.
+ :paramtype deployment_time: ~datetime.datetime
+ :keyword deployment_logs_url: Url to access repository action logs.
+ :paramtype deployment_logs_url: str
+ """
+ super().__init__(**kwargs)
+ self.deployment_id = deployment_id
+ self.deployment_state = deployment_state
+ self.deployment_result = deployment_result
+ self.deployment_time = deployment_time
+ self.deployment_logs_url = deployment_logs_url
+
+
+class DeploymentInfo(_serialization.Model):
+ """Information regarding a deployment.
+
+ :ivar deployment_fetch_status: Status while fetching the last deployment. Known values are:
+ "Success", "Unauthorized", and "NotFound".
+ :vartype deployment_fetch_status: str or
+ ~azure.mgmt.securityinsight.models.DeploymentFetchStatus
+ :ivar deployment: Deployment information.
+ :vartype deployment: ~azure.mgmt.securityinsight.models.Deployment
+ :ivar message: Additional details about the deployment that can be shown to the user.
+ :vartype message: str
+ """
+
+ _attribute_map = {
+ "deployment_fetch_status": {"key": "deploymentFetchStatus", "type": "str"},
+ "deployment": {"key": "deployment", "type": "Deployment"},
+ "message": {"key": "message", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ deployment_fetch_status: Optional[Union[str, "_models.DeploymentFetchStatus"]] = None,
+ deployment: Optional["_models.Deployment"] = None,
+ message: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword deployment_fetch_status: Status while fetching the last deployment. Known values are:
+ "Success", "Unauthorized", and "NotFound".
+ :paramtype deployment_fetch_status: str or
+ ~azure.mgmt.securityinsight.models.DeploymentFetchStatus
+ :keyword deployment: Deployment information.
+ :paramtype deployment: ~azure.mgmt.securityinsight.models.Deployment
+ :keyword message: Additional details about the deployment that can be shown to the user.
+ :paramtype message: str
+ """
+ super().__init__(**kwargs)
+ self.deployment_fetch_status = deployment_fetch_status
+ self.deployment = deployment
+ self.message = message
+
+
+class DnsEntity(Entity):
+ """Represents a dns entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
@@ -7273,13 +7933,25 @@ class EntityAnalytics(Settings):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The kind of the setting. Required. Known values are: "Anomalies", "EyesOn",
- "EntityAnalytics", and "Ueba".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.SettingKind
- :ivar entity_providers: The relevant entity providers that are synced.
- :vartype entity_providers: list[str or ~azure.mgmt.securityinsight.models.EntityProviders]
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar dns_server_ip_entity_id: An ip entity id for the dns server resolving the request.
+ :vartype dns_server_ip_entity_id: str
+ :ivar domain_name: The name of the dns record associated with the alert.
+ :vartype domain_name: str
+ :ivar host_ip_address_entity_id: An ip entity id for the dns request client.
+ :vartype host_ip_address_entity_id: str
+ :ivar ip_address_entity_ids: Ip entity identifiers for the resolved ip address.
+ :vartype ip_address_entity_ids: list[str]
"""
_validation = {
@@ -7288,6 +7960,12 @@ class EntityAnalytics(Settings):
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "dns_server_ip_entity_id": {"readonly": True},
+ "domain_name": {"readonly": True},
+ "host_ip_address_entity_id": {"readonly": True},
+ "ip_address_entity_ids": {"readonly": True},
}
_attribute_map = {
@@ -7295,634 +7973,1015 @@ class EntityAnalytics(Settings):
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "entity_providers": {"key": "properties.entityProviders", "type": "[str]"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "dns_server_ip_entity_id": {"key": "properties.dnsServerIpEntityId", "type": "str"},
+ "domain_name": {"key": "properties.domainName", "type": "str"},
+ "host_ip_address_entity_id": {"key": "properties.hostIpAddressEntityId", "type": "str"},
+ "ip_address_entity_ids": {"key": "properties.ipAddressEntityIds", "type": "[str]"},
}
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- entity_providers: Optional[List[Union[str, "_models.EntityProviders"]]] = None,
- **kwargs
- ):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword entity_providers: The relevant entity providers that are synced.
- :paramtype entity_providers: list[str or ~azure.mgmt.securityinsight.models.EntityProviders]
- """
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "EntityAnalytics"
- self.entity_providers = entity_providers
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "DnsResolution"
+ self.additional_data = None
+ self.friendly_name = None
+ self.dns_server_ip_entity_id = None
+ self.domain_name = None
+ self.host_ip_address_entity_id = None
+ self.ip_address_entity_ids = None
-class EntityEdges(_serialization.Model):
- """The edge that connects the entity to the other entity.
+class DnsEntityProperties(EntityCommonProperties):
+ """Dns entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar target_entity_id: The target entity Id.
- :vartype target_entity_id: str
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar dns_server_ip_entity_id: An ip entity id for the dns server resolving the request.
+ :vartype dns_server_ip_entity_id: str
+ :ivar domain_name: The name of the dns record associated with the alert.
+ :vartype domain_name: str
+ :ivar host_ip_address_entity_id: An ip entity id for the dns request client.
+ :vartype host_ip_address_entity_id: str
+ :ivar ip_address_entity_ids: Ip entity identifiers for the resolved ip address.
+ :vartype ip_address_entity_ids: list[str]
"""
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "dns_server_ip_entity_id": {"readonly": True},
+ "domain_name": {"readonly": True},
+ "host_ip_address_entity_id": {"readonly": True},
+ "ip_address_entity_ids": {"readonly": True},
+ }
+
_attribute_map = {
- "target_entity_id": {"key": "targetEntityId", "type": "str"},
"additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "dns_server_ip_entity_id": {"key": "dnsServerIpEntityId", "type": "str"},
+ "domain_name": {"key": "domainName", "type": "str"},
+ "host_ip_address_entity_id": {"key": "hostIpAddressEntityId", "type": "str"},
+ "ip_address_entity_ids": {"key": "ipAddressEntityIds", "type": "[str]"},
}
- def __init__(
- self, *, target_entity_id: Optional[str] = None, additional_data: Optional[Dict[str, Any]] = None, **kwargs
- ):
- """
- :keyword target_entity_id: The target entity Id.
- :paramtype target_entity_id: str
- :keyword additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :paramtype additional_data: dict[str, any]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.target_entity_id = target_entity_id
- self.additional_data = additional_data
+ self.dns_server_ip_entity_id = None
+ self.domain_name = None
+ self.host_ip_address_entity_id = None
+ self.ip_address_entity_ids = None
-class EntityExpandParameters(_serialization.Model):
- """The parameters required to execute an expand operation on the given entity.
+class Dynamics365CheckRequirements(DataConnectorsCheckRequirements):
+ """Represents Dynamics365 requirements check request.
- :ivar end_time: The end date filter, so the only expansion results returned are before this
- date.
- :vartype end_time: ~datetime.datetime
- :ivar expansion_id: The Id of the expansion to perform.
- :vartype expansion_id: str
- :ivar start_time: The start date filter, so the only expansion results returned are after this
- date.
- :vartype start_time: ~datetime.datetime
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
"""
+ _validation = {
+ "kind": {"required": True},
+ }
+
_attribute_map = {
- "end_time": {"key": "endTime", "type": "iso-8601"},
- "expansion_id": {"key": "expansionId", "type": "str"},
- "start_time": {"key": "startTime", "type": "iso-8601"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(
- self,
- *,
- end_time: Optional[datetime.datetime] = None,
- expansion_id: Optional[str] = None,
- start_time: Optional[datetime.datetime] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword end_time: The end date filter, so the only expansion results returned are before this
- date.
- :paramtype end_time: ~datetime.datetime
- :keyword expansion_id: The Id of the expansion to perform.
- :paramtype expansion_id: str
- :keyword start_time: The start date filter, so the only expansion results returned are after
- this date.
- :paramtype start_time: ~datetime.datetime
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
"""
super().__init__(**kwargs)
- self.end_time = end_time
- self.expansion_id = expansion_id
- self.start_time = start_time
+ self.kind: str = "Dynamics365"
+ self.tenant_id = tenant_id
-class EntityExpandResponse(_serialization.Model):
- """The entity expansion result operation response.
+class Dynamics365CheckRequirementsProperties(DataConnectorTenantId):
+ """Dynamics365 requirements check properties.
- :ivar meta_data: The metadata from the expansion operation results.
- :vartype meta_data: ~azure.mgmt.securityinsight.models.ExpansionResultsMetadata
- :ivar value: The expansion result values.
- :vartype value: ~azure.mgmt.securityinsight.models.EntityExpandResponseValue
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
"""
- _attribute_map = {
- "meta_data": {"key": "metaData", "type": "ExpansionResultsMetadata"},
- "value": {"key": "value", "type": "EntityExpandResponseValue"},
- }
- def __init__(
- self,
- *,
- meta_data: Optional["_models.ExpansionResultsMetadata"] = None,
- value: Optional["_models.EntityExpandResponseValue"] = None,
- **kwargs
- ):
- """
- :keyword meta_data: The metadata from the expansion operation results.
- :paramtype meta_data: ~azure.mgmt.securityinsight.models.ExpansionResultsMetadata
- :keyword value: The expansion result values.
- :paramtype value: ~azure.mgmt.securityinsight.models.EntityExpandResponseValue
- """
- super().__init__(**kwargs)
- self.meta_data = meta_data
- self.value = value
+class Dynamics365DataConnector(DataConnector):
+ """Represents Dynamics365 data connector.
+ Variables are only populated by the server, and will be ignored when sending a request.
-class EntityExpandResponseValue(_serialization.Model):
- """The expansion result values.
+ All required parameters must be populated in order to send to server.
- :ivar entities: Array of the expansion result entities.
- :vartype entities: list[~azure.mgmt.securityinsight.models.Entity]
- :ivar edges: Array of edges that connects the entity to the list of entities.
- :vartype edges: list[~azure.mgmt.securityinsight.models.EntityEdges]
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
_attribute_map = {
- "entities": {"key": "entities", "type": "[Entity]"},
- "edges": {"key": "edges", "type": "[EntityEdges]"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "Dynamics365DataConnectorDataTypes"},
}
def __init__(
self,
*,
- entities: Optional[List["_models.Entity"]] = None,
- edges: Optional[List["_models.EntityEdges"]] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.Dynamics365DataConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword entities: Array of the expansion result entities.
- :paramtype entities: list[~azure.mgmt.securityinsight.models.Entity]
- :keyword edges: Array of edges that connects the entity to the list of entities.
- :paramtype edges: list[~azure.mgmt.securityinsight.models.EntityEdges]
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
"""
- super().__init__(**kwargs)
- self.entities = entities
- self.edges = edges
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "Dynamics365"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
-class EntityFieldMapping(_serialization.Model):
- """Map identifiers of a single entity.
+class Dynamics365DataConnectorDataTypes(_serialization.Model):
+ """The available data types for Dynamics365 data connector.
- :ivar identifier: Alert V3 identifier.
- :vartype identifier: str
- :ivar value: The value of the identifier.
- :vartype value: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar dynamics365_cds_activities: Common Data Service data type connection. Required.
+ :vartype dynamics365_cds_activities:
+ ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities
"""
+ _validation = {
+ "dynamics365_cds_activities": {"required": True},
+ }
+
_attribute_map = {
- "identifier": {"key": "identifier", "type": "str"},
- "value": {"key": "value", "type": "str"},
+ "dynamics365_cds_activities": {
+ "key": "dynamics365CdsActivities",
+ "type": "Dynamics365DataConnectorDataTypesDynamics365CdsActivities",
+ },
}
- def __init__(self, *, identifier: Optional[str] = None, value: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ dynamics365_cds_activities: "_models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities",
+ **kwargs: Any
+ ) -> None:
"""
- :keyword identifier: Alert V3 identifier.
- :paramtype identifier: str
- :keyword value: The value of the identifier.
- :paramtype value: str
+ :keyword dynamics365_cds_activities: Common Data Service data type connection. Required.
+ :paramtype dynamics365_cds_activities:
+ ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypesDynamics365CdsActivities
"""
super().__init__(**kwargs)
- self.identifier = identifier
- self.value = value
+ self.dynamics365_cds_activities = dynamics365_cds_activities
-class EntityGetInsightsParameters(_serialization.Model):
- """The parameters required to execute insights operation on the given entity.
+class Dynamics365DataConnectorDataTypesDynamics365CdsActivities(
+ DataConnectorDataTypeCommon
+): # pylint: disable=name-too-long
+ """Common Data Service data type connection.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar start_time: The start timeline date, so the results returned are after this date.
- Required.
- :vartype start_time: ~datetime.datetime
- :ivar end_time: The end timeline date, so the results returned are before this date. Required.
- :vartype end_time: ~datetime.datetime
- :ivar add_default_extended_time_range: Indicates if query time range should be extended with
- default time range of the query. Default value is false.
- :vartype add_default_extended_time_range: bool
- :ivar insight_query_ids: List of Insights Query Id. If empty, default value is all insights of
- this entity.
- :vartype insight_query_ids: list[str]
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class Dynamics365DataConnectorProperties(DataConnectorTenantId):
+ """Dynamics365 data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
"""
_validation = {
- "start_time": {"required": True},
- "end_time": {"required": True},
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
}
_attribute_map = {
- "start_time": {"key": "startTime", "type": "iso-8601"},
- "end_time": {"key": "endTime", "type": "iso-8601"},
- "add_default_extended_time_range": {"key": "addDefaultExtendedTimeRange", "type": "bool"},
- "insight_query_ids": {"key": "insightQueryIds", "type": "[str]"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "Dynamics365DataConnectorDataTypes"},
}
def __init__(
- self,
- *,
- start_time: datetime.datetime,
- end_time: datetime.datetime,
- add_default_extended_time_range: Optional[bool] = None,
- insight_query_ids: Optional[List[str]] = None,
- **kwargs
- ):
+ self, *, tenant_id: str, data_types: "_models.Dynamics365DataConnectorDataTypes", **kwargs: Any
+ ) -> None:
"""
- :keyword start_time: The start timeline date, so the results returned are after this date.
- Required.
- :paramtype start_time: ~datetime.datetime
- :keyword end_time: The end timeline date, so the results returned are before this date.
- Required.
- :paramtype end_time: ~datetime.datetime
- :keyword add_default_extended_time_range: Indicates if query time range should be extended with
- default time range of the query. Default value is false.
- :paramtype add_default_extended_time_range: bool
- :keyword insight_query_ids: List of Insights Query Id. If empty, default value is all insights
- of this entity.
- :paramtype insight_query_ids: list[str]
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.Dynamics365DataConnectorDataTypes
"""
- super().__init__(**kwargs)
- self.start_time = start_time
- self.end_time = end_time
- self.add_default_extended_time_range = add_default_extended_time_range
- self.insight_query_ids = insight_query_ids
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
-class EntityGetInsightsResponse(_serialization.Model):
- """The Get Insights result operation response.
+class EnrichmentDomainBody(_serialization.Model):
+ """Domain name to be enriched.
- :ivar meta_data: The metadata from the get insights operation results.
- :vartype meta_data: ~azure.mgmt.securityinsight.models.GetInsightsResultsMetadata
- :ivar value: The insights result values.
- :vartype value: list[~azure.mgmt.securityinsight.models.EntityInsightItem]
+ :ivar domain: The domain name.
+ :vartype domain: str
"""
_attribute_map = {
- "meta_data": {"key": "metaData", "type": "GetInsightsResultsMetadata"},
- "value": {"key": "value", "type": "[EntityInsightItem]"},
+ "domain": {"key": "domain", "type": "str"},
}
- def __init__(
- self,
- *,
- meta_data: Optional["_models.GetInsightsResultsMetadata"] = None,
- value: Optional[List["_models.EntityInsightItem"]] = None,
- **kwargs
- ):
+ def __init__(self, *, domain: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword meta_data: The metadata from the get insights operation results.
- :paramtype meta_data: ~azure.mgmt.securityinsight.models.GetInsightsResultsMetadata
- :keyword value: The insights result values.
- :paramtype value: list[~azure.mgmt.securityinsight.models.EntityInsightItem]
+ :keyword domain: The domain name.
+ :paramtype domain: str
"""
super().__init__(**kwargs)
- self.meta_data = meta_data
- self.value = value
+ self.domain = domain
-class EntityInsightItem(_serialization.Model):
- """Entity insight Item.
+class EnrichmentDomainWhois(_serialization.Model):
+ """Whois information for a given domain and associated metadata.
- :ivar query_id: The query id of the insight.
- :vartype query_id: str
- :ivar query_time_interval: The Time interval that the query actually executed on.
- :vartype query_time_interval:
- ~azure.mgmt.securityinsight.models.EntityInsightItemQueryTimeInterval
- :ivar table_query_results: Query results for table insights query.
- :vartype table_query_results: ~azure.mgmt.securityinsight.models.InsightsTableResult
- :ivar chart_query_results: Query results for table insights query.
- :vartype chart_query_results: list[~azure.mgmt.securityinsight.models.InsightsTableResult]
+ :ivar domain: The domain for this whois record.
+ :vartype domain: str
+ :ivar server: The hostname of this registrar's whois server.
+ :vartype server: str
+ :ivar created: The timestamp at which this record was created.
+ :vartype created: ~datetime.datetime
+ :ivar updated: The timestamp at which this record was last updated.
+ :vartype updated: ~datetime.datetime
+ :ivar expires: The timestamp at which this record will expire.
+ :vartype expires: ~datetime.datetime
+ :ivar parsed_whois: The whois record for a given domain.
+ :vartype parsed_whois: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisDetails
"""
_attribute_map = {
- "query_id": {"key": "queryId", "type": "str"},
- "query_time_interval": {"key": "queryTimeInterval", "type": "EntityInsightItemQueryTimeInterval"},
- "table_query_results": {"key": "tableQueryResults", "type": "InsightsTableResult"},
- "chart_query_results": {"key": "chartQueryResults", "type": "[InsightsTableResult]"},
+ "domain": {"key": "domain", "type": "str"},
+ "server": {"key": "server", "type": "str"},
+ "created": {"key": "created", "type": "iso-8601"},
+ "updated": {"key": "updated", "type": "iso-8601"},
+ "expires": {"key": "expires", "type": "iso-8601"},
+ "parsed_whois": {"key": "parsedWhois", "type": "EnrichmentDomainWhoisDetails"},
}
def __init__(
self,
*,
- query_id: Optional[str] = None,
- query_time_interval: Optional["_models.EntityInsightItemQueryTimeInterval"] = None,
- table_query_results: Optional["_models.InsightsTableResult"] = None,
- chart_query_results: Optional[List["_models.InsightsTableResult"]] = None,
- **kwargs
- ):
+ domain: Optional[str] = None,
+ server: Optional[str] = None,
+ created: Optional[datetime.datetime] = None,
+ updated: Optional[datetime.datetime] = None,
+ expires: Optional[datetime.datetime] = None,
+ parsed_whois: Optional["_models.EnrichmentDomainWhoisDetails"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword query_id: The query id of the insight.
- :paramtype query_id: str
- :keyword query_time_interval: The Time interval that the query actually executed on.
- :paramtype query_time_interval:
- ~azure.mgmt.securityinsight.models.EntityInsightItemQueryTimeInterval
- :keyword table_query_results: Query results for table insights query.
- :paramtype table_query_results: ~azure.mgmt.securityinsight.models.InsightsTableResult
- :keyword chart_query_results: Query results for table insights query.
- :paramtype chart_query_results: list[~azure.mgmt.securityinsight.models.InsightsTableResult]
+ :keyword domain: The domain for this whois record.
+ :paramtype domain: str
+ :keyword server: The hostname of this registrar's whois server.
+ :paramtype server: str
+ :keyword created: The timestamp at which this record was created.
+ :paramtype created: ~datetime.datetime
+ :keyword updated: The timestamp at which this record was last updated.
+ :paramtype updated: ~datetime.datetime
+ :keyword expires: The timestamp at which this record will expire.
+ :paramtype expires: ~datetime.datetime
+ :keyword parsed_whois: The whois record for a given domain.
+ :paramtype parsed_whois: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisDetails
"""
super().__init__(**kwargs)
- self.query_id = query_id
- self.query_time_interval = query_time_interval
- self.table_query_results = table_query_results
- self.chart_query_results = chart_query_results
+ self.domain = domain
+ self.server = server
+ self.created = created
+ self.updated = updated
+ self.expires = expires
+ self.parsed_whois = parsed_whois
-class EntityInsightItemQueryTimeInterval(_serialization.Model):
- """The Time interval that the query actually executed on.
+class EnrichmentDomainWhoisContact(_serialization.Model):
+ """An individual contact associated with this domain.
- :ivar start_time: Insight query start time.
- :vartype start_time: ~datetime.datetime
- :ivar end_time: Insight query end time.
- :vartype end_time: ~datetime.datetime
+ :ivar name: The name of this contact.
+ :vartype name: str
+ :ivar org: The organization for this contact.
+ :vartype org: str
+ :ivar street: A list describing the street address for this contact.
+ :vartype street: list[str]
+ :ivar city: The city for this contact.
+ :vartype city: str
+ :ivar state: The state for this contact.
+ :vartype state: str
+ :ivar postal: The postal code for this contact.
+ :vartype postal: str
+ :ivar country: The country for this contact.
+ :vartype country: str
+ :ivar phone: The phone number for this contact.
+ :vartype phone: str
+ :ivar fax: The fax number for this contact.
+ :vartype fax: str
+ :ivar email: The email address for this contact.
+ :vartype email: str
"""
_attribute_map = {
- "start_time": {"key": "startTime", "type": "iso-8601"},
- "end_time": {"key": "endTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "org": {"key": "org", "type": "str"},
+ "street": {"key": "street", "type": "[str]"},
+ "city": {"key": "city", "type": "str"},
+ "state": {"key": "state", "type": "str"},
+ "postal": {"key": "postal", "type": "str"},
+ "country": {"key": "country", "type": "str"},
+ "phone": {"key": "phone", "type": "str"},
+ "fax": {"key": "fax", "type": "str"},
+ "email": {"key": "email", "type": "str"},
}
def __init__(
- self, *, start_time: Optional[datetime.datetime] = None, end_time: Optional[datetime.datetime] = None, **kwargs
- ):
+ self,
+ *,
+ name: Optional[str] = None,
+ org: Optional[str] = None,
+ street: Optional[List[str]] = None,
+ city: Optional[str] = None,
+ state: Optional[str] = None,
+ postal: Optional[str] = None,
+ country: Optional[str] = None,
+ phone: Optional[str] = None,
+ fax: Optional[str] = None,
+ email: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword start_time: Insight query start time.
- :paramtype start_time: ~datetime.datetime
- :keyword end_time: Insight query end time.
- :paramtype end_time: ~datetime.datetime
+ :keyword name: The name of this contact.
+ :paramtype name: str
+ :keyword org: The organization for this contact.
+ :paramtype org: str
+ :keyword street: A list describing the street address for this contact.
+ :paramtype street: list[str]
+ :keyword city: The city for this contact.
+ :paramtype city: str
+ :keyword state: The state for this contact.
+ :paramtype state: str
+ :keyword postal: The postal code for this contact.
+ :paramtype postal: str
+ :keyword country: The country for this contact.
+ :paramtype country: str
+ :keyword phone: The phone number for this contact.
+ :paramtype phone: str
+ :keyword fax: The fax number for this contact.
+ :paramtype fax: str
+ :keyword email: The email address for this contact.
+ :paramtype email: str
"""
super().__init__(**kwargs)
- self.start_time = start_time
- self.end_time = end_time
-
-
-class EntityList(_serialization.Model):
- """List of all the entities.
+ self.name = name
+ self.org = org
+ self.street = street
+ self.city = city
+ self.state = state
+ self.postal = postal
+ self.country = country
+ self.phone = phone
+ self.fax = fax
+ self.email = email
- Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+class EnrichmentDomainWhoisContacts(_serialization.Model):
+ """The set of contacts associated with this domain.
- :ivar next_link: URL to fetch the next set of entities.
- :vartype next_link: str
- :ivar value: Array of entities. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Entity]
+ :ivar admin: The admin contact for this whois record.
+ :vartype admin: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :ivar billing: The billing contact for this whois record.
+ :vartype billing: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :ivar registrant: The registrant contact for this whois record.
+ :vartype registrant: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :ivar tech: The technical contact for this whois record.
+ :vartype tech: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
"""
- _validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
- }
-
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[Entity]"},
+ "admin": {"key": "admin", "type": "EnrichmentDomainWhoisContact"},
+ "billing": {"key": "billing", "type": "EnrichmentDomainWhoisContact"},
+ "registrant": {"key": "registrant", "type": "EnrichmentDomainWhoisContact"},
+ "tech": {"key": "tech", "type": "EnrichmentDomainWhoisContact"},
}
- def __init__(self, *, value: List["_models.Entity"], **kwargs):
+ def __init__(
+ self,
+ *,
+ admin: Optional["_models.EnrichmentDomainWhoisContact"] = None,
+ billing: Optional["_models.EnrichmentDomainWhoisContact"] = None,
+ registrant: Optional["_models.EnrichmentDomainWhoisContact"] = None,
+ tech: Optional["_models.EnrichmentDomainWhoisContact"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of entities. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Entity]
+ :keyword admin: The admin contact for this whois record.
+ :paramtype admin: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :keyword billing: The billing contact for this whois record.
+ :paramtype billing: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :keyword registrant: The registrant contact for this whois record.
+ :paramtype registrant: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
+ :keyword tech: The technical contact for this whois record.
+ :paramtype tech: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContact
"""
super().__init__(**kwargs)
- self.next_link = None
- self.value = value
+ self.admin = admin
+ self.billing = billing
+ self.registrant = registrant
+ self.tech = tech
-class EntityMapping(_serialization.Model):
- """Single entity mapping for the alert rule.
+class EnrichmentDomainWhoisDetails(_serialization.Model):
+ """The whois record for a given domain.
- :ivar entity_type: The V3 type of the mapped entity. Known values are: "Account", "Host", "IP",
- "Malware", "File", "Process", "CloudApplication", "DNS", "AzureResource", "FileHash",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "Mailbox", "MailCluster",
- "MailMessage", and "SubmissionMail".
- :vartype entity_type: str or ~azure.mgmt.securityinsight.models.EntityMappingType
- :ivar field_mappings: array of field mappings for the given entity mapping.
- :vartype field_mappings: list[~azure.mgmt.securityinsight.models.FieldMapping]
+ :ivar registrar: The registrar associated with this domain.
+ :vartype registrar: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisRegistrarDetails
+ :ivar contacts: The set of contacts associated with this domain.
+ :vartype contacts: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContacts
+ :ivar name_servers: A list of name servers associated with this domain.
+ :vartype name_servers: list[str]
+ :ivar statuses: The set of status flags for this whois record.
+ :vartype statuses: list[str]
"""
_attribute_map = {
- "entity_type": {"key": "entityType", "type": "str"},
- "field_mappings": {"key": "fieldMappings", "type": "[FieldMapping]"},
+ "registrar": {"key": "registrar", "type": "EnrichmentDomainWhoisRegistrarDetails"},
+ "contacts": {"key": "contacts", "type": "EnrichmentDomainWhoisContacts"},
+ "name_servers": {"key": "nameServers", "type": "[str]"},
+ "statuses": {"key": "statuses", "type": "[str]"},
}
def __init__(
self,
*,
- entity_type: Optional[Union[str, "_models.EntityMappingType"]] = None,
- field_mappings: Optional[List["_models.FieldMapping"]] = None,
- **kwargs
- ):
+ registrar: Optional["_models.EnrichmentDomainWhoisRegistrarDetails"] = None,
+ contacts: Optional["_models.EnrichmentDomainWhoisContacts"] = None,
+ name_servers: Optional[List[str]] = None,
+ statuses: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword entity_type: The V3 type of the mapped entity. Known values are: "Account", "Host",
- "IP", "Malware", "File", "Process", "CloudApplication", "DNS", "AzureResource", "FileHash",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "Mailbox", "MailCluster",
- "MailMessage", and "SubmissionMail".
- :paramtype entity_type: str or ~azure.mgmt.securityinsight.models.EntityMappingType
- :keyword field_mappings: array of field mappings for the given entity mapping.
- :paramtype field_mappings: list[~azure.mgmt.securityinsight.models.FieldMapping]
+ :keyword registrar: The registrar associated with this domain.
+ :paramtype registrar: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisRegistrarDetails
+ :keyword contacts: The set of contacts associated with this domain.
+ :paramtype contacts: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhoisContacts
+ :keyword name_servers: A list of name servers associated with this domain.
+ :paramtype name_servers: list[str]
+ :keyword statuses: The set of status flags for this whois record.
+ :paramtype statuses: list[str]
"""
super().__init__(**kwargs)
- self.entity_type = entity_type
- self.field_mappings = field_mappings
-
-
-class EntityQueryItem(_serialization.Model):
- """An abstract Query item for entity.
-
- You probably want to use the sub-classes and not this class directly. Known sub-classes are:
- InsightQueryItem
+ self.registrar = registrar
+ self.contacts = contacts
+ self.name_servers = name_servers
+ self.statuses = statuses
- Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+class EnrichmentDomainWhoisRegistrarDetails(_serialization.Model):
+ """The registrar associated with this domain.
- :ivar id: Query Template ARM ID.
- :vartype id: str
- :ivar name: Query Template ARM Name.
+ :ivar name: The name of this registrar.
:vartype name: str
- :ivar type: ARM Type.
- :vartype type: str
- :ivar kind: The kind of the entity query. Required. Known values are: "Expansion", "Insight",
- and "Activity".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
+ :ivar abuse_contact_email: This registrar's abuse contact email.
+ :vartype abuse_contact_email: str
+ :ivar abuse_contact_phone: This registrar's abuse contact phone number.
+ :vartype abuse_contact_phone: str
+ :ivar iana_id: This registrar's Internet Assigned Numbers Authority id.
+ :vartype iana_id: str
+ :ivar url: This registrar's URL.
+ :vartype url: str
+ :ivar whois_server: The hostname of this registrar's whois server.
+ :vartype whois_server: str
"""
- _validation = {
- "id": {"readonly": True},
- "kind": {"required": True},
- }
-
_attribute_map = {
- "id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- }
-
- _subtype_map = {"kind": {"Insight": "InsightQueryItem"}}
-
- def __init__(self, *, name: Optional[str] = None, type: Optional[str] = None, **kwargs):
- """
- :keyword name: Query Template ARM Name.
- :paramtype name: str
- :keyword type: ARM Type.
- :paramtype type: str
- """
- super().__init__(**kwargs)
- self.id = None
- self.name = name
- self.type = type
- self.kind: Optional[str] = None
-
-
-class EntityQueryItemProperties(_serialization.Model):
- """An properties abstract Query item for entity.
-
- :ivar data_types: Data types for template.
- :vartype data_types:
- list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
- :ivar input_entity_type: The type of the entity. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
- "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :ivar required_input_fields_sets: Data types for template.
- :vartype required_input_fields_sets: list[list[str]]
- :ivar entities_filter: The query applied only to entities matching to all filters.
- :vartype entities_filter: JSON
- """
-
- _attribute_map = {
- "data_types": {"key": "dataTypes", "type": "[EntityQueryItemPropertiesDataTypesItem]"},
- "input_entity_type": {"key": "inputEntityType", "type": "str"},
- "required_input_fields_sets": {"key": "requiredInputFieldsSets", "type": "[[str]]"},
- "entities_filter": {"key": "entitiesFilter", "type": "object"},
+ "abuse_contact_email": {"key": "abuseContactEmail", "type": "str"},
+ "abuse_contact_phone": {"key": "abuseContactPhone", "type": "str"},
+ "iana_id": {"key": "ianaId", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "whois_server": {"key": "whoisServer", "type": "str"},
}
def __init__(
self,
*,
- data_types: Optional[List["_models.EntityQueryItemPropertiesDataTypesItem"]] = None,
- input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
- required_input_fields_sets: Optional[List[List[str]]] = None,
- entities_filter: Optional[JSON] = None,
- **kwargs
- ):
+ name: Optional[str] = None,
+ abuse_contact_email: Optional[str] = None,
+ abuse_contact_phone: Optional[str] = None,
+ iana_id: Optional[str] = None,
+ url: Optional[str] = None,
+ whois_server: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword data_types: Data types for template.
- :paramtype data_types:
- list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
- :keyword input_entity_type: The type of the entity. Known values are: "Account", "Host",
- "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
- "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :keyword required_input_fields_sets: Data types for template.
- :paramtype required_input_fields_sets: list[list[str]]
- :keyword entities_filter: The query applied only to entities matching to all filters.
- :paramtype entities_filter: JSON
+ :keyword name: The name of this registrar.
+ :paramtype name: str
+ :keyword abuse_contact_email: This registrar's abuse contact email.
+ :paramtype abuse_contact_email: str
+ :keyword abuse_contact_phone: This registrar's abuse contact phone number.
+ :paramtype abuse_contact_phone: str
+ :keyword iana_id: This registrar's Internet Assigned Numbers Authority id.
+ :paramtype iana_id: str
+ :keyword url: This registrar's URL.
+ :paramtype url: str
+ :keyword whois_server: The hostname of this registrar's whois server.
+ :paramtype whois_server: str
"""
super().__init__(**kwargs)
- self.data_types = data_types
- self.input_entity_type = input_entity_type
- self.required_input_fields_sets = required_input_fields_sets
- self.entities_filter = entities_filter
+ self.name = name
+ self.abuse_contact_email = abuse_contact_email
+ self.abuse_contact_phone = abuse_contact_phone
+ self.iana_id = iana_id
+ self.url = url
+ self.whois_server = whois_server
-class EntityQueryItemPropertiesDataTypesItem(_serialization.Model):
- """EntityQueryItemPropertiesDataTypesItem.
+class EnrichmentIpAddressBody(_serialization.Model):
+ """IP address (v4 or v6) to be enriched.
- :ivar data_type: Data type name.
- :vartype data_type: str
+ :ivar ip_address: The dotted-decimal or colon-separated string representation of the IP
+ address.
+ :vartype ip_address: str
"""
_attribute_map = {
- "data_type": {"key": "dataType", "type": "str"},
+ "ip_address": {"key": "ipAddress", "type": "str"},
}
- def __init__(self, *, data_type: Optional[str] = None, **kwargs):
+ def __init__(self, *, ip_address: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword data_type: Data type name.
- :paramtype data_type: str
+ :keyword ip_address: The dotted-decimal or colon-separated string representation of the IP
+ address.
+ :paramtype ip_address: str
"""
super().__init__(**kwargs)
- self.data_type = data_type
+ self.ip_address = ip_address
-class EntityQueryList(_serialization.Model):
- """List of all the entity queries.
-
- Variables are only populated by the server, and will be ignored when sending a request.
-
- All required parameters must be populated in order to send to Azure.
+class EnrichmentIpGeodata(_serialization.Model):
+ """Geodata information for a given IP address.
- :ivar next_link: URL to fetch the next set of entity queries.
- :vartype next_link: str
- :ivar value: Array of entity queries. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.EntityQuery]
+ :ivar asn: The autonomous system number associated with this IP address.
+ :vartype asn: str
+ :ivar carrier: The name of the carrier for this IP address.
+ :vartype carrier: str
+ :ivar city: The city this IP address is located in.
+ :vartype city: str
+ :ivar city_confidence_factor: A numeric rating of confidence that the value in the 'city' field
+ is correct, on a scale of 0-100.
+ :vartype city_confidence_factor: int
+ :ivar continent: The continent this IP address is located on.
+ :vartype continent: str
+ :ivar country: The county this IP address is located in.
+ :vartype country: str
+ :ivar country_confidence_factor: A numeric rating of confidence that the value in the 'country'
+ field is correct on a scale of 0-100.
+ :vartype country_confidence_factor: int
+ :ivar ip_addr: The dotted-decimal or colon-separated string representation of the IP address.
+ :vartype ip_addr: str
+ :ivar ip_routing_type: A description of the connection type of this IP address.
+ :vartype ip_routing_type: str
+ :ivar latitude: The latitude of this IP address.
+ :vartype latitude: str
+ :ivar longitude: The longitude of this IP address.
+ :vartype longitude: str
+ :ivar organization: The name of the organization for this IP address.
+ :vartype organization: str
+ :ivar organization_type: The type of the organization for this IP address.
+ :vartype organization_type: str
+ :ivar region: The geographic region this IP address is located in.
+ :vartype region: str
+ :ivar state: The state this IP address is located in.
+ :vartype state: str
+ :ivar state_confidence_factor: A numeric rating of confidence that the value in the 'state'
+ field is correct on a scale of 0-100.
+ :vartype state_confidence_factor: int
+ :ivar state_code: The abbreviated name for the state this IP address is located in.
+ :vartype state_code: str
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
+ "city_confidence_factor": {"maximum": 100, "minimum": 0},
+ "country_confidence_factor": {"maximum": 100, "minimum": 0},
+ "state_confidence_factor": {"maximum": 100, "minimum": 0},
}
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[EntityQuery]"},
+ "asn": {"key": "asn", "type": "str"},
+ "carrier": {"key": "carrier", "type": "str"},
+ "city": {"key": "city", "type": "str"},
+ "city_confidence_factor": {"key": "cityConfidenceFactor", "type": "int"},
+ "continent": {"key": "continent", "type": "str"},
+ "country": {"key": "country", "type": "str"},
+ "country_confidence_factor": {"key": "countryConfidenceFactor", "type": "int"},
+ "ip_addr": {"key": "ipAddr", "type": "str"},
+ "ip_routing_type": {"key": "ipRoutingType", "type": "str"},
+ "latitude": {"key": "latitude", "type": "str"},
+ "longitude": {"key": "longitude", "type": "str"},
+ "organization": {"key": "organization", "type": "str"},
+ "organization_type": {"key": "organizationType", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "state": {"key": "state", "type": "str"},
+ "state_confidence_factor": {"key": "stateConfidenceFactor", "type": "int"},
+ "state_code": {"key": "stateCode", "type": "str"},
}
- def __init__(self, *, value: List["_models.EntityQuery"], **kwargs):
+ def __init__(
+ self,
+ *,
+ asn: Optional[str] = None,
+ carrier: Optional[str] = None,
+ city: Optional[str] = None,
+ city_confidence_factor: Optional[int] = None,
+ continent: Optional[str] = None,
+ country: Optional[str] = None,
+ country_confidence_factor: Optional[int] = None,
+ ip_addr: Optional[str] = None,
+ ip_routing_type: Optional[str] = None,
+ latitude: Optional[str] = None,
+ longitude: Optional[str] = None,
+ organization: Optional[str] = None,
+ organization_type: Optional[str] = None,
+ region: Optional[str] = None,
+ state: Optional[str] = None,
+ state_confidence_factor: Optional[int] = None,
+ state_code: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of entity queries. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQuery]
+ :keyword asn: The autonomous system number associated with this IP address.
+ :paramtype asn: str
+ :keyword carrier: The name of the carrier for this IP address.
+ :paramtype carrier: str
+ :keyword city: The city this IP address is located in.
+ :paramtype city: str
+ :keyword city_confidence_factor: A numeric rating of confidence that the value in the 'city'
+ field is correct, on a scale of 0-100.
+ :paramtype city_confidence_factor: int
+ :keyword continent: The continent this IP address is located on.
+ :paramtype continent: str
+ :keyword country: The county this IP address is located in.
+ :paramtype country: str
+ :keyword country_confidence_factor: A numeric rating of confidence that the value in the
+ 'country' field is correct on a scale of 0-100.
+ :paramtype country_confidence_factor: int
+ :keyword ip_addr: The dotted-decimal or colon-separated string representation of the IP
+ address.
+ :paramtype ip_addr: str
+ :keyword ip_routing_type: A description of the connection type of this IP address.
+ :paramtype ip_routing_type: str
+ :keyword latitude: The latitude of this IP address.
+ :paramtype latitude: str
+ :keyword longitude: The longitude of this IP address.
+ :paramtype longitude: str
+ :keyword organization: The name of the organization for this IP address.
+ :paramtype organization: str
+ :keyword organization_type: The type of the organization for this IP address.
+ :paramtype organization_type: str
+ :keyword region: The geographic region this IP address is located in.
+ :paramtype region: str
+ :keyword state: The state this IP address is located in.
+ :paramtype state: str
+ :keyword state_confidence_factor: A numeric rating of confidence that the value in the 'state'
+ field is correct on a scale of 0-100.
+ :paramtype state_confidence_factor: int
+ :keyword state_code: The abbreviated name for the state this IP address is located in.
+ :paramtype state_code: str
"""
super().__init__(**kwargs)
- self.next_link = None
- self.value = value
+ self.asn = asn
+ self.carrier = carrier
+ self.city = city
+ self.city_confidence_factor = city_confidence_factor
+ self.continent = continent
+ self.country = country
+ self.country_confidence_factor = country_confidence_factor
+ self.ip_addr = ip_addr
+ self.ip_routing_type = ip_routing_type
+ self.latitude = latitude
+ self.longitude = longitude
+ self.organization = organization
+ self.organization_type = organization_type
+ self.region = region
+ self.state = state
+ self.state_confidence_factor = state_confidence_factor
+ self.state_code = state_code
-class EntityQueryTemplateList(_serialization.Model):
- """List of all the entity query templates.
+class EntityAnalytics(Settings):
+ """Settings with single toggle.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of entity query templates.
- :vartype next_link: str
- :ivar value: Array of entity query templates. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the setting. Required. Known values are: "Anomalies", "EyesOn",
+ "EntityAnalytics", and "Ueba".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.SettingKind
+ :ivar entity_providers: The relevant entity providers that are synced.
+ :vartype entity_providers: list[str or ~azure.mgmt.securityinsight.models.EntityProviders]
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[EntityQueryTemplate]"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "entity_providers": {"key": "properties.entityProviders", "type": "[str]"},
}
- def __init__(self, *, value: List["_models.EntityQueryTemplate"], **kwargs):
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ entity_providers: Optional[List[Union[str, "_models.EntityProviders"]]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of entity query templates. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword entity_providers: The relevant entity providers that are synced.
+ :paramtype entity_providers: list[str or ~azure.mgmt.securityinsight.models.EntityProviders]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "EntityAnalytics"
+ self.entity_providers = entity_providers
+
+
+class EntityEdges(_serialization.Model):
+ """The edge that connects the entity to the other entity.
+
+ :ivar target_entity_id: The target entity Id.
+ :vartype target_entity_id: str
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ """
+
+ _attribute_map = {
+ "target_entity_id": {"key": "targetEntityId", "type": "str"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ }
+
+ def __init__(
+ self, *, target_entity_id: Optional[str] = None, additional_data: Optional[Dict[str, Any]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword target_entity_id: The target entity Id.
+ :paramtype target_entity_id: str
+ :keyword additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :paramtype additional_data: dict[str, any]
"""
super().__init__(**kwargs)
- self.next_link = None
+ self.target_entity_id = target_entity_id
+ self.additional_data = additional_data
+
+
+class EntityExpandParameters(_serialization.Model):
+ """The parameters required to execute an expand operation on the given entity.
+
+ :ivar end_time: The end date filter, so the only expansion results returned are before this
+ date.
+ :vartype end_time: ~datetime.datetime
+ :ivar expansion_id: The Id of the expansion to perform.
+ :vartype expansion_id: str
+ :ivar start_time: The start date filter, so the only expansion results returned are after this
+ date.
+ :vartype start_time: ~datetime.datetime
+ """
+
+ _attribute_map = {
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "expansion_id": {"key": "expansionId", "type": "str"},
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ end_time: Optional[datetime.datetime] = None,
+ expansion_id: Optional[str] = None,
+ start_time: Optional[datetime.datetime] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword end_time: The end date filter, so the only expansion results returned are before this
+ date.
+ :paramtype end_time: ~datetime.datetime
+ :keyword expansion_id: The Id of the expansion to perform.
+ :paramtype expansion_id: str
+ :keyword start_time: The start date filter, so the only expansion results returned are after
+ this date.
+ :paramtype start_time: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.end_time = end_time
+ self.expansion_id = expansion_id
+ self.start_time = start_time
+
+
+class EntityExpandResponse(_serialization.Model):
+ """The entity expansion result operation response.
+
+ :ivar meta_data: The metadata from the expansion operation results.
+ :vartype meta_data: ~azure.mgmt.securityinsight.models.ExpansionResultsMetadata
+ :ivar value: The expansion result values.
+ :vartype value: ~azure.mgmt.securityinsight.models.EntityExpandResponseValue
+ """
+
+ _attribute_map = {
+ "meta_data": {"key": "metaData", "type": "ExpansionResultsMetadata"},
+ "value": {"key": "value", "type": "EntityExpandResponseValue"},
+ }
+
+ def __init__(
+ self,
+ *,
+ meta_data: Optional["_models.ExpansionResultsMetadata"] = None,
+ value: Optional["_models.EntityExpandResponseValue"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword meta_data: The metadata from the expansion operation results.
+ :paramtype meta_data: ~azure.mgmt.securityinsight.models.ExpansionResultsMetadata
+ :keyword value: The expansion result values.
+ :paramtype value: ~azure.mgmt.securityinsight.models.EntityExpandResponseValue
+ """
+ super().__init__(**kwargs)
+ self.meta_data = meta_data
self.value = value
-class EntityTimelineParameters(_serialization.Model):
- """The parameters required to execute s timeline operation on the given entity.
+class EntityExpandResponseValue(_serialization.Model):
+ """The expansion result values.
+
+ :ivar entities: Array of the expansion result entities.
+ :vartype entities: list[~azure.mgmt.securityinsight.models.Entity]
+ :ivar edges: Array of edges that connects the entity to the list of entities.
+ :vartype edges: list[~azure.mgmt.securityinsight.models.EntityEdges]
+ """
- All required parameters must be populated in order to send to Azure.
+ _attribute_map = {
+ "entities": {"key": "entities", "type": "[Entity]"},
+ "edges": {"key": "edges", "type": "[EntityEdges]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ entities: Optional[List["_models.Entity"]] = None,
+ edges: Optional[List["_models.EntityEdges"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword entities: Array of the expansion result entities.
+ :paramtype entities: list[~azure.mgmt.securityinsight.models.Entity]
+ :keyword edges: Array of edges that connects the entity to the list of entities.
+ :paramtype edges: list[~azure.mgmt.securityinsight.models.EntityEdges]
+ """
+ super().__init__(**kwargs)
+ self.entities = entities
+ self.edges = edges
+
+
+class EntityFieldMapping(_serialization.Model):
+ """Map identifiers of a single entity.
+
+ :ivar identifier: Alert V3 identifier.
+ :vartype identifier: str
+ :ivar value: The value of the identifier.
+ :vartype value: str
+ """
+
+ _attribute_map = {
+ "identifier": {"key": "identifier", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ }
+
+ def __init__(self, *, identifier: Optional[str] = None, value: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword identifier: Alert V3 identifier.
+ :paramtype identifier: str
+ :keyword value: The value of the identifier.
+ :paramtype value: str
+ """
+ super().__init__(**kwargs)
+ self.identifier = identifier
+ self.value = value
+
+
+class EntityGetInsightsParameters(_serialization.Model):
+ """The parameters required to execute insights operation on the given entity.
+
+ All required parameters must be populated in order to send to server.
- :ivar kinds: Array of timeline Item kinds.
- :vartype kinds: list[str or ~azure.mgmt.securityinsight.models.EntityTimelineKind]
:ivar start_time: The start timeline date, so the results returned are after this date.
Required.
:vartype start_time: ~datetime.datetime
:ivar end_time: The end timeline date, so the results returned are before this date. Required.
:vartype end_time: ~datetime.datetime
- :ivar number_of_bucket: The number of bucket for timeline queries aggregation.
- :vartype number_of_bucket: int
+ :ivar add_default_extended_time_range: Indicates if query time range should be extended with
+ default time range of the query. Default value is false.
+ :vartype add_default_extended_time_range: bool
+ :ivar insight_query_ids: List of Insights Query Id. If empty, default value is all insights of
+ this entity.
+ :vartype insight_query_ids: list[str]
"""
_validation = {
@@ -7931,10 +8990,10 @@ class EntityTimelineParameters(_serialization.Model):
}
_attribute_map = {
- "kinds": {"key": "kinds", "type": "[str]"},
"start_time": {"key": "startTime", "type": "iso-8601"},
"end_time": {"key": "endTime", "type": "iso-8601"},
- "number_of_bucket": {"key": "numberOfBucket", "type": "int"},
+ "add_default_extended_time_range": {"key": "addDefaultExtendedTimeRange", "type": "bool"},
+ "insight_query_ids": {"key": "insightQueryIds", "type": "[str]"},
}
def __init__(
@@ -7942,940 +9001,698 @@ def __init__(
*,
start_time: datetime.datetime,
end_time: datetime.datetime,
- kinds: Optional[List[Union[str, "_models.EntityTimelineKind"]]] = None,
- number_of_bucket: Optional[int] = None,
- **kwargs
- ):
+ add_default_extended_time_range: Optional[bool] = None,
+ insight_query_ids: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword kinds: Array of timeline Item kinds.
- :paramtype kinds: list[str or ~azure.mgmt.securityinsight.models.EntityTimelineKind]
:keyword start_time: The start timeline date, so the results returned are after this date.
Required.
:paramtype start_time: ~datetime.datetime
:keyword end_time: The end timeline date, so the results returned are before this date.
Required.
:paramtype end_time: ~datetime.datetime
- :keyword number_of_bucket: The number of bucket for timeline queries aggregation.
- :paramtype number_of_bucket: int
+ :keyword add_default_extended_time_range: Indicates if query time range should be extended with
+ default time range of the query. Default value is false.
+ :paramtype add_default_extended_time_range: bool
+ :keyword insight_query_ids: List of Insights Query Id. If empty, default value is all insights
+ of this entity.
+ :paramtype insight_query_ids: list[str]
"""
super().__init__(**kwargs)
- self.kinds = kinds
self.start_time = start_time
self.end_time = end_time
- self.number_of_bucket = number_of_bucket
+ self.add_default_extended_time_range = add_default_extended_time_range
+ self.insight_query_ids = insight_query_ids
-class EntityTimelineResponse(_serialization.Model):
- """The entity timeline result operation response.
+class EntityGetInsightsResponse(_serialization.Model):
+ """The Get Insights result operation response.
- :ivar meta_data: The metadata from the timeline operation results.
- :vartype meta_data: ~azure.mgmt.securityinsight.models.TimelineResultsMetadata
- :ivar value: The timeline result values.
- :vartype value: list[~azure.mgmt.securityinsight.models.EntityTimelineItem]
+ :ivar meta_data: The metadata from the get insights operation results.
+ :vartype meta_data: ~azure.mgmt.securityinsight.models.GetInsightsResultsMetadata
+ :ivar value: The insights result values.
+ :vartype value: list[~azure.mgmt.securityinsight.models.EntityInsightItem]
"""
_attribute_map = {
- "meta_data": {"key": "metaData", "type": "TimelineResultsMetadata"},
- "value": {"key": "value", "type": "[EntityTimelineItem]"},
+ "meta_data": {"key": "metaData", "type": "GetInsightsResultsMetadata"},
+ "value": {"key": "value", "type": "[EntityInsightItem]"},
}
def __init__(
self,
*,
- meta_data: Optional["_models.TimelineResultsMetadata"] = None,
- value: Optional[List["_models.EntityTimelineItem"]] = None,
- **kwargs
- ):
+ meta_data: Optional["_models.GetInsightsResultsMetadata"] = None,
+ value: Optional[List["_models.EntityInsightItem"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword meta_data: The metadata from the timeline operation results.
- :paramtype meta_data: ~azure.mgmt.securityinsight.models.TimelineResultsMetadata
- :keyword value: The timeline result values.
- :paramtype value: list[~azure.mgmt.securityinsight.models.EntityTimelineItem]
+ :keyword meta_data: The metadata from the get insights operation results.
+ :paramtype meta_data: ~azure.mgmt.securityinsight.models.GetInsightsResultsMetadata
+ :keyword value: The insights result values.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.EntityInsightItem]
"""
super().__init__(**kwargs)
self.meta_data = meta_data
self.value = value
-class EventGroupingSettings(_serialization.Model):
- """Event grouping settings property bag.
+class EntityInsightItem(_serialization.Model):
+ """Entity insight Item.
- :ivar aggregation_kind: The event grouping aggregation kinds. Known values are: "SingleAlert"
- and "AlertPerResult".
- :vartype aggregation_kind: str or
- ~azure.mgmt.securityinsight.models.EventGroupingAggregationKind
+ :ivar query_id: The query id of the insight.
+ :vartype query_id: str
+ :ivar query_time_interval: The Time interval that the query actually executed on.
+ :vartype query_time_interval:
+ ~azure.mgmt.securityinsight.models.EntityInsightItemQueryTimeInterval
+ :ivar table_query_results: Query results for table insights query.
+ :vartype table_query_results: ~azure.mgmt.securityinsight.models.InsightsTableResult
+ :ivar chart_query_results: Query results for table insights query.
+ :vartype chart_query_results: list[~azure.mgmt.securityinsight.models.InsightsTableResult]
"""
_attribute_map = {
- "aggregation_kind": {"key": "aggregationKind", "type": "str"},
+ "query_id": {"key": "queryId", "type": "str"},
+ "query_time_interval": {"key": "queryTimeInterval", "type": "EntityInsightItemQueryTimeInterval"},
+ "table_query_results": {"key": "tableQueryResults", "type": "InsightsTableResult"},
+ "chart_query_results": {"key": "chartQueryResults", "type": "[InsightsTableResult]"},
}
def __init__(
- self, *, aggregation_kind: Optional[Union[str, "_models.EventGroupingAggregationKind"]] = None, **kwargs
- ):
- """
- :keyword aggregation_kind: The event grouping aggregation kinds. Known values are:
- "SingleAlert" and "AlertPerResult".
- :paramtype aggregation_kind: str or
- ~azure.mgmt.securityinsight.models.EventGroupingAggregationKind
+ self,
+ *,
+ query_id: Optional[str] = None,
+ query_time_interval: Optional["_models.EntityInsightItemQueryTimeInterval"] = None,
+ table_query_results: Optional["_models.InsightsTableResult"] = None,
+ chart_query_results: Optional[List["_models.InsightsTableResult"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword query_id: The query id of the insight.
+ :paramtype query_id: str
+ :keyword query_time_interval: The Time interval that the query actually executed on.
+ :paramtype query_time_interval:
+ ~azure.mgmt.securityinsight.models.EntityInsightItemQueryTimeInterval
+ :keyword table_query_results: Query results for table insights query.
+ :paramtype table_query_results: ~azure.mgmt.securityinsight.models.InsightsTableResult
+ :keyword chart_query_results: Query results for table insights query.
+ :paramtype chart_query_results: list[~azure.mgmt.securityinsight.models.InsightsTableResult]
"""
super().__init__(**kwargs)
- self.aggregation_kind = aggregation_kind
+ self.query_id = query_id
+ self.query_time_interval = query_time_interval
+ self.table_query_results = table_query_results
+ self.chart_query_results = chart_query_results
-class ExpansionEntityQuery(EntityQuery): # pylint: disable=too-many-instance-attributes
- """Represents Expansion entity query.
+class EntityInsightItemQueryTimeInterval(_serialization.Model):
+ """The Time interval that the query actually executed on.
+
+ :ivar start_time: Insight query start time.
+ :vartype start_time: ~datetime.datetime
+ :ivar end_time: Insight query end time.
+ :vartype end_time: ~datetime.datetime
+ """
+
+ _attribute_map = {
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ start_time: Optional[datetime.datetime] = None,
+ end_time: Optional[datetime.datetime] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword start_time: Insight query start time.
+ :paramtype start_time: ~datetime.datetime
+ :keyword end_time: Insight query end time.
+ :paramtype end_time: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.start_time = start_time
+ self.end_time = end_time
+
+
+class EntityList(_serialization.Model):
+ """List of all the entities.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: the entity query kind. Required. Known values are: "Expansion", "Insight", and
- "Activity".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
- :ivar data_sources: List of the data sources that are required to run the query.
- :vartype data_sources: list[str]
- :ivar display_name: The query display name.
- :vartype display_name: str
- :ivar input_entity_type: The type of the query's source entity. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware",
- "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice",
- "SecurityAlert", "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail",
- and "Nic".
- :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :ivar input_fields: List of the fields of the source entity that are required to run the query.
- :vartype input_fields: list[str]
- :ivar output_entity_types: List of the desired output types to be constructed from the result.
- :vartype output_entity_types: list[str or ~azure.mgmt.securityinsight.models.EntityType]
- :ivar query_template: The template query string to be parsed and formatted.
- :vartype query_template: str
+ :ivar next_link: URL to fetch the next set of entities.
+ :vartype next_link: str
+ :ivar value: Array of entities. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Entity]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "data_sources": {"key": "properties.dataSources", "type": "[str]"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "input_entity_type": {"key": "properties.inputEntityType", "type": "str"},
- "input_fields": {"key": "properties.inputFields", "type": "[str]"},
- "output_entity_types": {"key": "properties.outputEntityTypes", "type": "[str]"},
- "query_template": {"key": "properties.queryTemplate", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Entity]"},
}
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- data_sources: Optional[List[str]] = None,
- display_name: Optional[str] = None,
- input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
- input_fields: Optional[List[str]] = None,
- output_entity_types: Optional[List[Union[str, "_models.EntityType"]]] = None,
- query_template: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.Entity"], **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword data_sources: List of the data sources that are required to run the query.
- :paramtype data_sources: list[str]
- :keyword display_name: The query display name.
- :paramtype display_name: str
- :keyword input_entity_type: The type of the query's source entity. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware",
- "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice",
- "SecurityAlert", "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail",
- and "Nic".
- :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :keyword input_fields: List of the fields of the source entity that are required to run the
- query.
- :paramtype input_fields: list[str]
- :keyword output_entity_types: List of the desired output types to be constructed from the
- result.
- :paramtype output_entity_types: list[str or ~azure.mgmt.securityinsight.models.EntityType]
- :keyword query_template: The template query string to be parsed and formatted.
- :paramtype query_template: str
+ :keyword value: Array of entities. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Entity]
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "Expansion"
- self.data_sources = data_sources
- self.display_name = display_name
- self.input_entity_type = input_entity_type
- self.input_fields = input_fields
- self.output_entity_types = output_entity_types
- self.query_template = query_template
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class ExpansionResultAggregation(_serialization.Model):
- """Information of a specific aggregation in the expansion result.
+class EntityManualTriggerRequestBody(_serialization.Model):
+ """Describes the request body for triggering a playbook on an entity.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar aggregation_type: The common type of the aggregation. (for e.g. entity field name).
- :vartype aggregation_type: str
- :ivar count: Total number of aggregations of the given kind (and aggregationType if given) in
- the expansion result. Required.
- :vartype count: int
- :ivar display_name: The display name of the aggregation by type.
- :vartype display_name: str
- :ivar entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
- "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
- "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
- "Nic".
- :vartype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :ivar incident_arm_id: Incident ARM id.
+ :vartype incident_arm_id: str
+ :ivar tenant_id: The tenant id of the playbook resource.
+ :vartype tenant_id: str
+ :ivar logic_apps_resource_id: The resource id of the playbook resource. Required.
+ :vartype logic_apps_resource_id: str
"""
_validation = {
- "count": {"required": True},
- "entity_kind": {"required": True},
+ "logic_apps_resource_id": {"required": True},
}
_attribute_map = {
- "aggregation_type": {"key": "aggregationType", "type": "str"},
- "count": {"key": "count", "type": "int"},
- "display_name": {"key": "displayName", "type": "str"},
- "entity_kind": {"key": "entityKind", "type": "str"},
+ "incident_arm_id": {"key": "incidentArmId", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "logic_apps_resource_id": {"key": "logicAppsResourceId", "type": "str"},
}
def __init__(
self,
*,
- count: int,
- entity_kind: Union[str, "_models.EntityKind"],
- aggregation_type: Optional[str] = None,
- display_name: Optional[str] = None,
- **kwargs
- ):
+ logic_apps_resource_id: str,
+ incident_arm_id: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword aggregation_type: The common type of the aggregation. (for e.g. entity field name).
- :paramtype aggregation_type: str
- :keyword count: Total number of aggregations of the given kind (and aggregationType if given)
- in the expansion result. Required.
- :paramtype count: int
- :keyword display_name: The display name of the aggregation by type.
- :paramtype display_name: str
- :keyword entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
- "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
- "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
- "Nic".
- :paramtype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :keyword incident_arm_id: Incident ARM id.
+ :paramtype incident_arm_id: str
+ :keyword tenant_id: The tenant id of the playbook resource.
+ :paramtype tenant_id: str
+ :keyword logic_apps_resource_id: The resource id of the playbook resource. Required.
+ :paramtype logic_apps_resource_id: str
"""
super().__init__(**kwargs)
- self.aggregation_type = aggregation_type
- self.count = count
- self.display_name = display_name
- self.entity_kind = entity_kind
+ self.incident_arm_id = incident_arm_id
+ self.tenant_id = tenant_id
+ self.logic_apps_resource_id = logic_apps_resource_id
-class ExpansionResultsMetadata(_serialization.Model):
- """Expansion result metadata.
+class EntityMapping(_serialization.Model):
+ """Single entity mapping for the alert rule.
- :ivar aggregations: Information of the aggregated nodes in the expansion result.
- :vartype aggregations: list[~azure.mgmt.securityinsight.models.ExpansionResultAggregation]
+ :ivar entity_type: The V3 type of the mapped entity. Known values are: "Account", "Host", "IP",
+ "Malware", "File", "Process", "CloudApplication", "DNS", "AzureResource", "FileHash",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "Mailbox", "MailCluster",
+ "MailMessage", and "SubmissionMail".
+ :vartype entity_type: str or ~azure.mgmt.securityinsight.models.EntityMappingType
+ :ivar field_mappings: array of field mappings for the given entity mapping.
+ :vartype field_mappings: list[~azure.mgmt.securityinsight.models.FieldMapping]
"""
_attribute_map = {
- "aggregations": {"key": "aggregations", "type": "[ExpansionResultAggregation]"},
+ "entity_type": {"key": "entityType", "type": "str"},
+ "field_mappings": {"key": "fieldMappings", "type": "[FieldMapping]"},
}
- def __init__(self, *, aggregations: Optional[List["_models.ExpansionResultAggregation"]] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ entity_type: Optional[Union[str, "_models.EntityMappingType"]] = None,
+ field_mappings: Optional[List["_models.FieldMapping"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword aggregations: Information of the aggregated nodes in the expansion result.
- :paramtype aggregations: list[~azure.mgmt.securityinsight.models.ExpansionResultAggregation]
+ :keyword entity_type: The V3 type of the mapped entity. Known values are: "Account", "Host",
+ "IP", "Malware", "File", "Process", "CloudApplication", "DNS", "AzureResource", "FileHash",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "Mailbox", "MailCluster",
+ "MailMessage", and "SubmissionMail".
+ :paramtype entity_type: str or ~azure.mgmt.securityinsight.models.EntityMappingType
+ :keyword field_mappings: array of field mappings for the given entity mapping.
+ :paramtype field_mappings: list[~azure.mgmt.securityinsight.models.FieldMapping]
"""
super().__init__(**kwargs)
- self.aggregations = aggregations
+ self.entity_type = entity_type
+ self.field_mappings = field_mappings
-class EyesOn(Settings):
- """Settings with single toggle.
+class EntityQueryItem(_serialization.Model):
+ """An abstract Query item for entity.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ InsightQueryItem
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Query Template ARM ID.
:vartype id: str
- :ivar name: The name of the resource.
+ :ivar name: Query Template ARM Name.
:vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
+ :ivar type: ARM Type.
:vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The kind of the setting. Required. Known values are: "Anomalies", "EyesOn",
- "EntityAnalytics", and "Ueba".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.SettingKind
- :ivar is_enabled: Determines whether the setting is enable or disabled.
- :vartype is_enabled: bool
+ :ivar kind: The kind of the entity query. Required. Known values are: "Expansion", "Insight",
+ and "Activity".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
"""
_validation = {
"id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
"kind": {"required": True},
- "is_enabled": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "is_enabled": {"key": "properties.isEnabled", "type": "bool"},
}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ _subtype_map = {"kind": {"Insight": "InsightQueryItem"}}
+
+ def __init__(self, *, name: Optional[str] = None, type: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
+ :keyword name: Query Template ARM Name.
+ :paramtype name: str
+ :keyword type: ARM Type.
+ :paramtype type: str
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "EyesOn"
- self.is_enabled = None
+ super().__init__(**kwargs)
+ self.id = None
+ self.name = name
+ self.type = type
+ self.kind: Optional[str] = None
-class FieldMapping(_serialization.Model):
- """A single field mapping of the mapped entity.
+class EntityQueryItemProperties(_serialization.Model):
+ """An properties abstract Query item for entity.
- :ivar identifier: the V3 identifier of the entity.
- :vartype identifier: str
- :ivar column_name: the column name to be mapped to the identifier.
- :vartype column_name: str
+ :ivar data_types: Data types for template.
+ :vartype data_types:
+ list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
+ :ivar input_entity_type: The type of the entity. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
+ "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :ivar required_input_fields_sets: Data types for template.
+ :vartype required_input_fields_sets: list[list[str]]
+ :ivar entities_filter: The query applied only to entities matching to all filters.
+ :vartype entities_filter: JSON
"""
_attribute_map = {
- "identifier": {"key": "identifier", "type": "str"},
- "column_name": {"key": "columnName", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "[EntityQueryItemPropertiesDataTypesItem]"},
+ "input_entity_type": {"key": "inputEntityType", "type": "str"},
+ "required_input_fields_sets": {"key": "requiredInputFieldsSets", "type": "[[str]]"},
+ "entities_filter": {"key": "entitiesFilter", "type": "object"},
}
- def __init__(self, *, identifier: Optional[str] = None, column_name: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ data_types: Optional[List["_models.EntityQueryItemPropertiesDataTypesItem"]] = None,
+ input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
+ required_input_fields_sets: Optional[List[List[str]]] = None,
+ entities_filter: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword identifier: the V3 identifier of the entity.
- :paramtype identifier: str
- :keyword column_name: the column name to be mapped to the identifier.
- :paramtype column_name: str
+ :keyword data_types: Data types for template.
+ :paramtype data_types:
+ list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
+ :keyword input_entity_type: The type of the entity. Known values are: "Account", "Host",
+ "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
+ "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :keyword required_input_fields_sets: Data types for template.
+ :paramtype required_input_fields_sets: list[list[str]]
+ :keyword entities_filter: The query applied only to entities matching to all filters.
+ :paramtype entities_filter: JSON
"""
super().__init__(**kwargs)
- self.identifier = identifier
- self.column_name = column_name
-
-
-class FileEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a file entity.
+ self.data_types = data_types
+ self.input_entity_type = input_entity_type
+ self.required_input_fields_sets = required_input_fields_sets
+ self.entities_filter = entities_filter
- Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+class EntityQueryItemPropertiesDataTypesItem(_serialization.Model):
+ """EntityQueryItemPropertiesDataTypesItem.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar directory: The full path to the file.
- :vartype directory: str
- :ivar file_hash_entity_ids: The file hash entity identifiers associated with this file.
- :vartype file_hash_entity_ids: list[str]
- :ivar file_name: The file name without path (some alerts might not include path).
- :vartype file_name: str
- :ivar host_entity_id: The Host entity id which the file belongs to.
- :vartype host_entity_id: str
+ :ivar data_type: Data type name.
+ :vartype data_type: str
"""
- _validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "directory": {"readonly": True},
- "file_hash_entity_ids": {"readonly": True},
- "file_name": {"readonly": True},
- "host_entity_id": {"readonly": True},
- }
-
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "directory": {"key": "properties.directory", "type": "str"},
- "file_hash_entity_ids": {"key": "properties.fileHashEntityIds", "type": "[str]"},
- "file_name": {"key": "properties.fileName", "type": "str"},
- "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, data_type: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword data_type: Data type name.
+ :paramtype data_type: str
+ """
super().__init__(**kwargs)
- self.kind: str = "File"
- self.additional_data = None
- self.friendly_name = None
- self.directory = None
- self.file_hash_entity_ids = None
- self.file_name = None
- self.host_entity_id = None
+ self.data_type = data_type
-class FileEntityProperties(EntityCommonProperties):
- """File entity property bag.
+class EntityQueryList(_serialization.Model):
+ """List of all the entity queries.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar directory: The full path to the file.
- :vartype directory: str
- :ivar file_hash_entity_ids: The file hash entity identifiers associated with this file.
- :vartype file_hash_entity_ids: list[str]
- :ivar file_name: The file name without path (some alerts might not include path).
- :vartype file_name: str
- :ivar host_entity_id: The Host entity id which the file belongs to.
- :vartype host_entity_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of entity queries.
+ :vartype next_link: str
+ :ivar value: Array of entity queries. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.EntityQuery]
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "directory": {"readonly": True},
- "file_hash_entity_ids": {"readonly": True},
- "file_name": {"readonly": True},
- "host_entity_id": {"readonly": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "directory": {"key": "directory", "type": "str"},
- "file_hash_entity_ids": {"key": "fileHashEntityIds", "type": "[str]"},
- "file_name": {"key": "fileName", "type": "str"},
- "host_entity_id": {"key": "hostEntityId", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[EntityQuery]"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, value: List["_models.EntityQuery"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of entity queries. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQuery]
+ """
super().__init__(**kwargs)
- self.directory = None
- self.file_hash_entity_ids = None
- self.file_name = None
- self.host_entity_id = None
+ self.next_link = None
+ self.value = value
-class FileHashEntity(Entity):
- """Represents a file hash entity.
+class EntityQueryTemplateList(_serialization.Model):
+ """List of all the entity query templates.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar algorithm: The hash algorithm type. Known values are: "Unknown", "MD5", "SHA1", "SHA256",
- and "SHA256AC".
- :vartype algorithm: str or ~azure.mgmt.securityinsight.models.FileHashAlgorithm
- :ivar hash_value: The file hash value.
- :vartype hash_value: str
+ :ivar next_link: URL to fetch the next set of entity query templates.
+ :vartype next_link: str
+ :ivar value: Array of entity query templates. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "algorithm": {"readonly": True},
- "hash_value": {"readonly": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "algorithm": {"key": "properties.algorithm", "type": "str"},
- "hash_value": {"key": "properties.hashValue", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[EntityQueryTemplate]"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, value: List["_models.EntityQueryTemplate"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of entity query templates. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
+ """
super().__init__(**kwargs)
- self.kind: str = "FileHash"
- self.additional_data = None
- self.friendly_name = None
- self.algorithm = None
- self.hash_value = None
+ self.next_link = None
+ self.value = value
-class FileHashEntityProperties(EntityCommonProperties):
- """FileHash entity property bag.
+class EntityTimelineParameters(_serialization.Model):
+ """The parameters required to execute s timeline operation on the given entity.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar algorithm: The hash algorithm type. Known values are: "Unknown", "MD5", "SHA1", "SHA256",
- and "SHA256AC".
- :vartype algorithm: str or ~azure.mgmt.securityinsight.models.FileHashAlgorithm
- :ivar hash_value: The file hash value.
- :vartype hash_value: str
+ :ivar kinds: Array of timeline Item kinds.
+ :vartype kinds: list[str or ~azure.mgmt.securityinsight.models.EntityTimelineKind]
+ :ivar start_time: The start timeline date, so the results returned are after this date.
+ Required.
+ :vartype start_time: ~datetime.datetime
+ :ivar end_time: The end timeline date, so the results returned are before this date. Required.
+ :vartype end_time: ~datetime.datetime
+ :ivar number_of_bucket: The number of bucket for timeline queries aggregation.
+ :vartype number_of_bucket: int
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "algorithm": {"readonly": True},
- "hash_value": {"readonly": True},
+ "start_time": {"required": True},
+ "end_time": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "algorithm": {"key": "algorithm", "type": "str"},
- "hash_value": {"key": "hashValue", "type": "str"},
+ "kinds": {"key": "kinds", "type": "[str]"},
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "number_of_bucket": {"key": "numberOfBucket", "type": "int"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self,
+ *,
+ start_time: datetime.datetime,
+ end_time: datetime.datetime,
+ kinds: Optional[List[Union[str, "_models.EntityTimelineKind"]]] = None,
+ number_of_bucket: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kinds: Array of timeline Item kinds.
+ :paramtype kinds: list[str or ~azure.mgmt.securityinsight.models.EntityTimelineKind]
+ :keyword start_time: The start timeline date, so the results returned are after this date.
+ Required.
+ :paramtype start_time: ~datetime.datetime
+ :keyword end_time: The end timeline date, so the results returned are before this date.
+ Required.
+ :paramtype end_time: ~datetime.datetime
+ :keyword number_of_bucket: The number of bucket for timeline queries aggregation.
+ :paramtype number_of_bucket: int
+ """
super().__init__(**kwargs)
- self.algorithm = None
- self.hash_value = None
-
+ self.kinds = kinds
+ self.start_time = start_time
+ self.end_time = end_time
+ self.number_of_bucket = number_of_bucket
-class FileImport(Resource): # pylint: disable=too-many-instance-attributes
- """Represents a file import in Azure Security Insights.
- Variables are only populated by the server, and will be ignored when sending a request.
+class EntityTimelineResponse(_serialization.Model):
+ """The entity timeline result operation response.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar ingestion_mode: Describes how to ingest the records in the file. Known values are:
- "IngestOnlyIfAllAreValid", "IngestAnyValidRecords", and "Unspecified".
- :vartype ingestion_mode: str or ~azure.mgmt.securityinsight.models.IngestionMode
- :ivar content_type: The content type of this file. Known values are: "BasicIndicator",
- "StixIndicator", and "Unspecified".
- :vartype content_type: str or ~azure.mgmt.securityinsight.models.FileImportContentType
- :ivar created_time_utc: The time the file was imported.
- :vartype created_time_utc: ~datetime.datetime
- :ivar error_file: Represents the error file (if the import was ingested with errors or failed
- the validation).
- :vartype error_file: ~azure.mgmt.securityinsight.models.FileMetadata
- :ivar errors_preview: An ordered list of some of the errors that were encountered during
- validation.
- :vartype errors_preview: list[~azure.mgmt.securityinsight.models.ValidationError]
- :ivar import_file: Represents the imported file.
- :vartype import_file: ~azure.mgmt.securityinsight.models.FileMetadata
- :ivar ingested_record_count: The number of records that have been successfully ingested.
- :vartype ingested_record_count: int
- :ivar source: The source for the data in the file.
- :vartype source: str
- :ivar state: The state of the file import. Known values are: "FatalError", "Ingested",
- "IngestedWithErrors", "InProgress", "Invalid", "WaitingForUpload", and "Unspecified".
- :vartype state: str or ~azure.mgmt.securityinsight.models.FileImportState
- :ivar total_record_count: The number of records in the file.
- :vartype total_record_count: int
- :ivar valid_record_count: The number of records that have passed validation.
- :vartype valid_record_count: int
- :ivar files_valid_until_time_utc: The time the files associated with this import are deleted
- from the storage account.
- :vartype files_valid_until_time_utc: ~datetime.datetime
- :ivar import_valid_until_time_utc: The time the file import record is soft deleted from the
- database and history.
- :vartype import_valid_until_time_utc: ~datetime.datetime
+ :ivar meta_data: The metadata from the timeline operation results.
+ :vartype meta_data: ~azure.mgmt.securityinsight.models.TimelineResultsMetadata
+ :ivar value: The timeline result values.
+ :vartype value: list[~azure.mgmt.securityinsight.models.EntityTimelineItem]
"""
- _validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "created_time_utc": {"readonly": True},
- "error_file": {"readonly": True},
- "errors_preview": {"readonly": True},
- "ingested_record_count": {"readonly": True},
- "state": {"readonly": True},
- "total_record_count": {"readonly": True},
- "valid_record_count": {"readonly": True},
- "files_valid_until_time_utc": {"readonly": True},
- "import_valid_until_time_utc": {"readonly": True},
- }
-
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "ingestion_mode": {"key": "properties.ingestionMode", "type": "str"},
- "content_type": {"key": "properties.contentType", "type": "str"},
- "created_time_utc": {"key": "properties.createdTimeUTC", "type": "iso-8601"},
- "error_file": {"key": "properties.errorFile", "type": "FileMetadata"},
- "errors_preview": {"key": "properties.errorsPreview", "type": "[ValidationError]"},
- "import_file": {"key": "properties.importFile", "type": "FileMetadata"},
- "ingested_record_count": {"key": "properties.ingestedRecordCount", "type": "int"},
- "source": {"key": "properties.source", "type": "str"},
- "state": {"key": "properties.state", "type": "str"},
- "total_record_count": {"key": "properties.totalRecordCount", "type": "int"},
- "valid_record_count": {"key": "properties.validRecordCount", "type": "int"},
- "files_valid_until_time_utc": {"key": "properties.filesValidUntilTimeUTC", "type": "iso-8601"},
- "import_valid_until_time_utc": {"key": "properties.importValidUntilTimeUTC", "type": "iso-8601"},
+ "meta_data": {"key": "metaData", "type": "TimelineResultsMetadata"},
+ "value": {"key": "value", "type": "[EntityTimelineItem]"},
}
def __init__(
self,
*,
- ingestion_mode: Optional[Union[str, "_models.IngestionMode"]] = None,
- content_type: Optional[Union[str, "_models.FileImportContentType"]] = None,
- import_file: Optional["_models.FileMetadata"] = None,
- source: Optional[str] = None,
- **kwargs
- ):
+ meta_data: Optional["_models.TimelineResultsMetadata"] = None,
+ value: Optional[List["_models.EntityTimelineItem"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword ingestion_mode: Describes how to ingest the records in the file. Known values are:
- "IngestOnlyIfAllAreValid", "IngestAnyValidRecords", and "Unspecified".
- :paramtype ingestion_mode: str or ~azure.mgmt.securityinsight.models.IngestionMode
- :keyword content_type: The content type of this file. Known values are: "BasicIndicator",
- "StixIndicator", and "Unspecified".
- :paramtype content_type: str or ~azure.mgmt.securityinsight.models.FileImportContentType
- :keyword import_file: Represents the imported file.
- :paramtype import_file: ~azure.mgmt.securityinsight.models.FileMetadata
- :keyword source: The source for the data in the file.
- :paramtype source: str
+ :keyword meta_data: The metadata from the timeline operation results.
+ :paramtype meta_data: ~azure.mgmt.securityinsight.models.TimelineResultsMetadata
+ :keyword value: The timeline result values.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.EntityTimelineItem]
"""
super().__init__(**kwargs)
- self.ingestion_mode = ingestion_mode
- self.content_type = content_type
- self.created_time_utc = None
- self.error_file = None
- self.errors_preview = None
- self.import_file = import_file
- self.ingested_record_count = None
- self.source = source
- self.state = None
- self.total_record_count = None
- self.valid_record_count = None
- self.files_valid_until_time_utc = None
- self.import_valid_until_time_utc = None
-
+ self.meta_data = meta_data
+ self.value = value
-class FileImportList(_serialization.Model):
- """List all the file imports.
- Variables are only populated by the server, and will be ignored when sending a request.
+class Error(_serialization.Model):
+ """The error description for why a publication failed.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of file imports.
- :vartype next_link: str
- :ivar value: Array of file imports. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.FileImport]
+ :ivar member_resource_name: The member resource name for which the publication error occured.
+ Required.
+ :vartype member_resource_name: str
+ :ivar error_message: The error message. Required.
+ :vartype error_message: str
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
+ "member_resource_name": {"required": True},
+ "error_message": {"required": True},
}
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[FileImport]"},
+ "member_resource_name": {"key": "memberResourceName", "type": "str"},
+ "error_message": {"key": "errorMessage", "type": "str"},
}
- def __init__(self, *, value: List["_models.FileImport"], **kwargs):
+ def __init__(self, *, member_resource_name: str, error_message: str, **kwargs: Any) -> None:
"""
- :keyword value: Array of file imports. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.FileImport]
+ :keyword member_resource_name: The member resource name for which the publication error
+ occured. Required.
+ :paramtype member_resource_name: str
+ :keyword error_message: The error message. Required.
+ :paramtype error_message: str
"""
super().__init__(**kwargs)
- self.next_link = None
- self.value = value
+ self.member_resource_name = member_resource_name
+ self.error_message = error_message
-class FileMetadata(_serialization.Model):
- """Represents a file.
+class ErrorAdditionalInfo(_serialization.Model):
+ """The resource management error additional info.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar file_format: The format of the file. Known values are: "CSV", "JSON", and "Unspecified".
- :vartype file_format: str or ~azure.mgmt.securityinsight.models.FileFormat
- :ivar file_name: The name of the file.
- :vartype file_name: str
- :ivar file_size: The size of the file.
- :vartype file_size: int
- :ivar file_content_uri: A URI with a valid SAS token to allow uploading / downloading the file.
- :vartype file_content_uri: str
- :ivar delete_status: Indicates whether the file was deleted from the storage account. Known
- values are: "Deleted", "NotDeleted", and "Unspecified".
- :vartype delete_status: str or ~azure.mgmt.securityinsight.models.DeleteStatus
+ :ivar type: The additional info type.
+ :vartype type: str
+ :ivar info: The additional info.
+ :vartype info: JSON
"""
_validation = {
- "file_content_uri": {"readonly": True},
- "delete_status": {"readonly": True},
+ "type": {"readonly": True},
+ "info": {"readonly": True},
}
_attribute_map = {
- "file_format": {"key": "fileFormat", "type": "str"},
- "file_name": {"key": "fileName", "type": "str"},
- "file_size": {"key": "fileSize", "type": "int"},
- "file_content_uri": {"key": "fileContentUri", "type": "str"},
- "delete_status": {"key": "deleteStatus", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "info": {"key": "info", "type": "object"},
}
- def __init__(
- self,
- *,
- file_format: Optional[Union[str, "_models.FileFormat"]] = None,
- file_name: Optional[str] = None,
- file_size: Optional[int] = None,
- **kwargs
- ):
- """
- :keyword file_format: The format of the file. Known values are: "CSV", "JSON", and
- "Unspecified".
- :paramtype file_format: str or ~azure.mgmt.securityinsight.models.FileFormat
- :keyword file_name: The name of the file.
- :paramtype file_name: str
- :keyword file_size: The size of the file.
- :paramtype file_size: int
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.file_format = file_format
- self.file_name = file_name
- self.file_size = file_size
- self.file_content_uri = None
- self.delete_status = None
+ self.type = None
+ self.info = None
-class FusionAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
- """Represents Fusion alert rule.
+class ErrorDetail(_serialization.Model):
+ """The error detail.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
- :vartype alert_rule_template_name: str
- :ivar description: The description of the alert rule.
- :vartype description: str
- :ivar display_name: The display name for alerts created by this alert rule.
- :vartype display_name: str
- :ivar enabled: Determines whether this alert rule is enabled or disabled.
- :vartype enabled: bool
- :ivar source_settings: Configuration for all supported source signals in fusion detection.
- :vartype source_settings: list[~azure.mgmt.securityinsight.models.FusionSourceSettings]
- :ivar scenario_exclusion_patterns: Configuration to exclude scenarios in fusion detection.
- :vartype scenario_exclusion_patterns:
- list[~azure.mgmt.securityinsight.models.FusionScenarioExclusionPattern]
- :ivar last_modified_utc: The last time that this alert has been modified.
- :vartype last_modified_utc: ~datetime.datetime
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
+ :ivar code: The error code.
+ :vartype code: str
+ :ivar message: The error message.
+ :vartype message: str
+ :ivar target: The error target.
+ :vartype target: str
+ :ivar details: The error details.
+ :vartype details: list[~azure.mgmt.securityinsight.models.ErrorDetail]
+ :ivar additional_info: The error additional info.
+ :vartype additional_info: list[~azure.mgmt.securityinsight.models.ErrorAdditionalInfo]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "description": {"readonly": True},
- "display_name": {"readonly": True},
- "last_modified_utc": {"readonly": True},
- "severity": {"readonly": True},
- "tactics": {"readonly": True},
- "techniques": {"readonly": True},
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "target": {"readonly": True},
+ "details": {"readonly": True},
+ "additional_info": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "enabled": {"key": "properties.enabled", "type": "bool"},
- "source_settings": {"key": "properties.sourceSettings", "type": "[FusionSourceSettings]"},
- "scenario_exclusion_patterns": {
- "key": "properties.scenarioExclusionPatterns",
- "type": "[FusionScenarioExclusionPattern]",
- },
- "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
- "severity": {"key": "properties.severity", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {"key": "details", "type": "[ErrorDetail]"},
+ "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = None
+ self.additional_info = None
+
+
+class ErrorResponse(_serialization.Model):
+ """Common error response for all Azure Resource Manager APIs to return error details for failed
+ operations. (This also follows the OData error response format.).
+
+ :ivar error: The error object.
+ :vartype error: ~azure.mgmt.securityinsight.models.ErrorDetail
+ """
+
+ _attribute_map = {
+ "error": {"key": "error", "type": "ErrorDetail"},
+ }
+
+ def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None:
+ """
+ :keyword error: The error object.
+ :paramtype error: ~azure.mgmt.securityinsight.models.ErrorDetail
+ """
+ super().__init__(**kwargs)
+ self.error = error
+
+
+class EventGroupingSettings(_serialization.Model):
+ """Event grouping settings property bag.
+
+ :ivar aggregation_kind: The event grouping aggregation kinds. Known values are: "SingleAlert"
+ and "AlertPerResult".
+ :vartype aggregation_kind: str or
+ ~azure.mgmt.securityinsight.models.EventGroupingAggregationKind
+ """
+
+ _attribute_map = {
+ "aggregation_kind": {"key": "aggregationKind", "type": "str"},
}
def __init__(
- self,
- *,
- etag: Optional[str] = None,
- alert_rule_template_name: Optional[str] = None,
- enabled: Optional[bool] = None,
- source_settings: Optional[List["_models.FusionSourceSettings"]] = None,
- scenario_exclusion_patterns: Optional[List["_models.FusionScenarioExclusionPattern"]] = None,
- **kwargs
- ):
+ self, *, aggregation_kind: Optional[Union[str, "_models.EventGroupingAggregationKind"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword alert_rule_template_name: The Name of the alert rule template used to create this
- rule.
- :paramtype alert_rule_template_name: str
- :keyword enabled: Determines whether this alert rule is enabled or disabled.
- :paramtype enabled: bool
- :keyword source_settings: Configuration for all supported source signals in fusion detection.
- :paramtype source_settings: list[~azure.mgmt.securityinsight.models.FusionSourceSettings]
- :keyword scenario_exclusion_patterns: Configuration to exclude scenarios in fusion detection.
- :paramtype scenario_exclusion_patterns:
- list[~azure.mgmt.securityinsight.models.FusionScenarioExclusionPattern]
+ :keyword aggregation_kind: The event grouping aggregation kinds. Known values are:
+ "SingleAlert" and "AlertPerResult".
+ :paramtype aggregation_kind: str or
+ ~azure.mgmt.securityinsight.models.EventGroupingAggregationKind
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "Fusion"
- self.alert_rule_template_name = alert_rule_template_name
- self.description = None
- self.display_name = None
- self.enabled = enabled
- self.source_settings = source_settings
- self.scenario_exclusion_patterns = scenario_exclusion_patterns
- self.last_modified_utc = None
- self.severity = None
- self.tactics = None
- self.techniques = None
+ super().__init__(**kwargs)
+ self.aggregation_kind = aggregation_kind
-class FusionAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-instance-attributes
- """Represents Fusion alert rule template.
+class ExpansionEntityQuery(EntityQuery):
+ """Represents Expansion entity query.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -8885,36 +9702,27 @@ class FusionAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-in
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar last_updated_date_utc: The time that this alert rule template was last updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: the entity query kind. Required. Known values are: "Expansion", "Insight", and
+ "Activity".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
+ :ivar data_sources: List of the data sources that are required to run the query.
+ :vartype data_sources: list[str]
+ :ivar display_name: The query display name.
:vartype display_name: str
- :ivar required_data_connectors: The required data connectors for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar tactics: The tactics of the alert rule template.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
- :ivar source_settings: All supported source signal configurations consumed in fusion detection.
- :vartype source_settings: list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSetting]
+ :ivar input_entity_type: The type of the query's source entity. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware",
+ "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice",
+ "SecurityAlert", "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail",
+ and "Nic".
+ :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :ivar input_fields: List of the fields of the source entity that are required to run the query.
+ :vartype input_fields: list[str]
+ :ivar output_entity_types: List of the desired output types to be constructed from the result.
+ :vartype output_entity_types: list[str or ~azure.mgmt.securityinsight.models.EntityType]
+ :ivar query_template: The template query string to be parsed and formatted.
+ :vartype query_template: str
"""
_validation = {
@@ -8923,8 +9731,6 @@ class FusionAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-in
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "created_date_utc": {"readonly": True},
- "last_updated_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -8932,700 +9738,812 @@ class FusionAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-in
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
- "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
- "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
- "description": {"key": "properties.description", "type": "str"},
+ "data_sources": {"key": "properties.dataSources", "type": "[str]"},
"display_name": {"key": "properties.displayName", "type": "str"},
- "required_data_connectors": {
- "key": "properties.requiredDataConnectors",
- "type": "[AlertRuleTemplateDataSource]",
- },
- "status": {"key": "properties.status", "type": "str"},
- "severity": {"key": "properties.severity", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
- "source_settings": {"key": "properties.sourceSettings", "type": "[FusionTemplateSourceSetting]"},
+ "input_entity_type": {"key": "properties.inputEntityType", "type": "str"},
+ "input_fields": {"key": "properties.inputFields", "type": "[str]"},
+ "output_entity_types": {"key": "properties.outputEntityTypes", "type": "[str]"},
+ "query_template": {"key": "properties.queryTemplate", "type": "str"},
}
def __init__(
self,
*,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
+ etag: Optional[str] = None,
+ data_sources: Optional[List[str]] = None,
display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- source_settings: Optional[List["_models.FusionTemplateSourceSetting"]] = None,
- **kwargs
- ):
+ input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
+ input_fields: Optional[List[str]] = None,
+ output_entity_types: Optional[List[Union[str, "_models.EntityType"]]] = None,
+ query_template: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword data_sources: List of the data sources that are required to run the query.
+ :paramtype data_sources: list[str]
+ :keyword display_name: The query display name.
:paramtype display_name: str
- :keyword required_data_connectors: The required data connectors for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword tactics: The tactics of the alert rule template.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
- :keyword source_settings: All supported source signal configurations consumed in fusion
- detection.
- :paramtype source_settings:
- list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSetting]
+ :keyword input_entity_type: The type of the query's source entity. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware",
+ "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice",
+ "SecurityAlert", "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail",
+ and "Nic".
+ :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :keyword input_fields: List of the fields of the source entity that are required to run the
+ query.
+ :paramtype input_fields: list[str]
+ :keyword output_entity_types: List of the desired output types to be constructed from the
+ result.
+ :paramtype output_entity_types: list[str or ~azure.mgmt.securityinsight.models.EntityType]
+ :keyword query_template: The template query string to be parsed and formatted.
+ :paramtype query_template: str
"""
- super().__init__(**kwargs)
- self.kind: str = "Fusion"
- self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
- self.created_date_utc = None
- self.last_updated_date_utc = None
- self.description = description
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "Expansion"
+ self.data_sources = data_sources
self.display_name = display_name
- self.required_data_connectors = required_data_connectors
- self.status = status
- self.severity = severity
- self.tactics = tactics
- self.techniques = techniques
- self.source_settings = source_settings
+ self.input_entity_type = input_entity_type
+ self.input_fields = input_fields
+ self.output_entity_types = output_entity_types
+ self.query_template = query_template
-class FusionScenarioExclusionPattern(_serialization.Model):
- """Represents a Fusion scenario exclusion patterns in Fusion detection.
+class ExpansionResultAggregation(_serialization.Model):
+ """Information of a specific aggregation in the expansion result.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar exclusion_pattern: Scenario exclusion pattern. Required.
- :vartype exclusion_pattern: str
- :ivar date_added_in_utc: DateTime when scenario exclusion pattern is added in UTC. Required.
- :vartype date_added_in_utc: str
+ :ivar aggregation_type: The common type of the aggregation. (for e.g. entity field name).
+ :vartype aggregation_type: str
+ :ivar count: Total number of aggregations of the given kind (and aggregationType if given) in
+ the expansion result. Required.
+ :vartype count: int
+ :ivar display_name: The display name of the aggregation by type.
+ :vartype display_name: str
+ :ivar entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
+ "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
+ "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
+ "Nic".
+ :vartype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
"""
_validation = {
- "exclusion_pattern": {"required": True},
- "date_added_in_utc": {"required": True},
+ "count": {"required": True},
+ "entity_kind": {"required": True},
}
_attribute_map = {
- "exclusion_pattern": {"key": "exclusionPattern", "type": "str"},
- "date_added_in_utc": {"key": "dateAddedInUTC", "type": "str"},
+ "aggregation_type": {"key": "aggregationType", "type": "str"},
+ "count": {"key": "count", "type": "int"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "entity_kind": {"key": "entityKind", "type": "str"},
}
- def __init__(self, *, exclusion_pattern: str, date_added_in_utc: str, **kwargs):
+ def __init__(
+ self,
+ *,
+ count: int,
+ entity_kind: Union[str, "_models.EntityKindEnum"],
+ aggregation_type: Optional[str] = None,
+ display_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword exclusion_pattern: Scenario exclusion pattern. Required.
- :paramtype exclusion_pattern: str
- :keyword date_added_in_utc: DateTime when scenario exclusion pattern is added in UTC. Required.
- :paramtype date_added_in_utc: str
+ :keyword aggregation_type: The common type of the aggregation. (for e.g. entity field name).
+ :paramtype aggregation_type: str
+ :keyword count: Total number of aggregations of the given kind (and aggregationType if given)
+ in the expansion result. Required.
+ :paramtype count: int
+ :keyword display_name: The display name of the aggregation by type.
+ :paramtype display_name: str
+ :keyword entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
+ "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
+ "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
+ "Nic".
+ :paramtype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
"""
super().__init__(**kwargs)
- self.exclusion_pattern = exclusion_pattern
- self.date_added_in_utc = date_added_in_utc
-
+ self.aggregation_type = aggregation_type
+ self.count = count
+ self.display_name = display_name
+ self.entity_kind = entity_kind
-class FusionSourceSettings(_serialization.Model):
- """Represents a supported source signal configuration in Fusion detection.
- All required parameters must be populated in order to send to Azure.
+class ExpansionResultsMetadata(_serialization.Model):
+ """Expansion result metadata.
- :ivar enabled: Determines whether this source signal is enabled or disabled in Fusion
- detection. Required.
- :vartype enabled: bool
- :ivar source_name: Name of the Fusion source signal. Refer to Fusion alert rule template for
- supported values. Required.
- :vartype source_name: str
- :ivar source_sub_types: Configuration for all source subtypes under this source signal consumed
- in fusion detection.
- :vartype source_sub_types: list[~azure.mgmt.securityinsight.models.FusionSourceSubTypeSetting]
+ :ivar aggregations: Information of the aggregated nodes in the expansion result.
+ :vartype aggregations: list[~azure.mgmt.securityinsight.models.ExpansionResultAggregation]
"""
- _validation = {
- "enabled": {"required": True},
- "source_name": {"required": True},
- }
-
_attribute_map = {
- "enabled": {"key": "enabled", "type": "bool"},
- "source_name": {"key": "sourceName", "type": "str"},
- "source_sub_types": {"key": "sourceSubTypes", "type": "[FusionSourceSubTypeSetting]"},
+ "aggregations": {"key": "aggregations", "type": "[ExpansionResultAggregation]"},
}
def __init__(
- self,
- *,
- enabled: bool,
- source_name: str,
- source_sub_types: Optional[List["_models.FusionSourceSubTypeSetting"]] = None,
- **kwargs
- ):
+ self, *, aggregations: Optional[List["_models.ExpansionResultAggregation"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword enabled: Determines whether this source signal is enabled or disabled in Fusion
- detection. Required.
- :paramtype enabled: bool
- :keyword source_name: Name of the Fusion source signal. Refer to Fusion alert rule template for
- supported values. Required.
- :paramtype source_name: str
- :keyword source_sub_types: Configuration for all source subtypes under this source signal
- consumed in fusion detection.
- :paramtype source_sub_types:
- list[~azure.mgmt.securityinsight.models.FusionSourceSubTypeSetting]
+ :keyword aggregations: Information of the aggregated nodes in the expansion result.
+ :paramtype aggregations: list[~azure.mgmt.securityinsight.models.ExpansionResultAggregation]
"""
super().__init__(**kwargs)
- self.enabled = enabled
- self.source_name = source_name
- self.source_sub_types = source_sub_types
+ self.aggregations = aggregations
-class FusionSourceSubTypeSetting(_serialization.Model):
- """Represents a supported source subtype configuration under a source signal in Fusion detection.
+class EyesOn(Settings):
+ """Settings with single toggle.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar enabled: Determines whether this source subtype under source signal is enabled or
- disabled in Fusion detection. Required.
- :vartype enabled: bool
- :ivar source_sub_type_name: The Name of the source subtype under a given source signal in
- Fusion detection. Refer to Fusion alert rule template for supported values. Required.
- :vartype source_sub_type_name: str
- :ivar source_sub_type_display_name: The display name of source subtype under a source signal
- consumed in Fusion detection.
- :vartype source_sub_type_display_name: str
- :ivar severity_filters: Severity configuration for a source subtype consumed in fusion
- detection. Required.
- :vartype severity_filters: ~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFilter
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the setting. Required. Known values are: "Anomalies", "EyesOn",
+ "EntityAnalytics", and "Ueba".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.SettingKind
+ :ivar is_enabled: Determines whether the setting is enable or disabled.
+ :vartype is_enabled: bool
"""
_validation = {
- "enabled": {"required": True},
- "source_sub_type_name": {"required": True},
- "source_sub_type_display_name": {"readonly": True},
- "severity_filters": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "is_enabled": {"readonly": True},
}
_attribute_map = {
- "enabled": {"key": "enabled", "type": "bool"},
- "source_sub_type_name": {"key": "sourceSubTypeName", "type": "str"},
- "source_sub_type_display_name": {"key": "sourceSubTypeDisplayName", "type": "str"},
- "severity_filters": {"key": "severityFilters", "type": "FusionSubTypeSeverityFilter"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "is_enabled": {"key": "properties.isEnabled", "type": "bool"},
}
- def __init__(
- self,
- *,
- enabled: bool,
- source_sub_type_name: str,
- severity_filters: "_models.FusionSubTypeSeverityFilter",
- **kwargs
- ):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword enabled: Determines whether this source subtype under source signal is enabled or
- disabled in Fusion detection. Required.
- :paramtype enabled: bool
- :keyword source_sub_type_name: The Name of the source subtype under a given source signal in
- Fusion detection. Refer to Fusion alert rule template for supported values. Required.
- :paramtype source_sub_type_name: str
- :keyword severity_filters: Severity configuration for a source subtype consumed in fusion
- detection. Required.
- :paramtype severity_filters: ~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFilter
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
"""
- super().__init__(**kwargs)
- self.enabled = enabled
- self.source_sub_type_name = source_sub_type_name
- self.source_sub_type_display_name = None
- self.severity_filters = severity_filters
-
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "EyesOn"
+ self.is_enabled = None
-class FusionSubTypeSeverityFilter(_serialization.Model):
- """Represents severity configuration for a source subtype consumed in Fusion detection.
- Variables are only populated by the server, and will be ignored when sending a request.
+class FieldMapping(_serialization.Model):
+ """A single field mapping of the mapped entity.
- :ivar is_supported: Determines whether this source subtype supports severity configuration or
- not.
- :vartype is_supported: bool
- :ivar filters: Individual Severity configuration settings for a given source subtype consumed
- in Fusion detection.
- :vartype filters: list[~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFiltersItem]
+ :ivar identifier: the V3 identifier of the entity.
+ :vartype identifier: str
+ :ivar column_name: the column name to be mapped to the identifier.
+ :vartype column_name: str
"""
- _validation = {
- "is_supported": {"readonly": True},
- }
-
_attribute_map = {
- "is_supported": {"key": "isSupported", "type": "bool"},
- "filters": {"key": "filters", "type": "[FusionSubTypeSeverityFiltersItem]"},
+ "identifier": {"key": "identifier", "type": "str"},
+ "column_name": {"key": "columnName", "type": "str"},
}
- def __init__(self, *, filters: Optional[List["_models.FusionSubTypeSeverityFiltersItem"]] = None, **kwargs):
+ def __init__(self, *, identifier: Optional[str] = None, column_name: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword filters: Individual Severity configuration settings for a given source subtype
- consumed in Fusion detection.
- :paramtype filters: list[~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFiltersItem]
+ :keyword identifier: the V3 identifier of the entity.
+ :paramtype identifier: str
+ :keyword column_name: the column name to be mapped to the identifier.
+ :paramtype column_name: str
"""
super().__init__(**kwargs)
- self.is_supported = None
- self.filters = filters
+ self.identifier = identifier
+ self.column_name = column_name
-class FusionSubTypeSeverityFiltersItem(_serialization.Model):
- """Represents a Severity filter setting for a given source subtype consumed in Fusion detection.
+class FileEntity(Entity):
+ """Represents a file entity.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar severity: The Severity for a given source subtype consumed in Fusion detection. Required.
- Known values are: "High", "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar enabled: Determines whether this severity is enabled or disabled for this source subtype
- consumed in Fusion detection. Required.
- :vartype enabled: bool
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar directory: The full path to the file.
+ :vartype directory: str
+ :ivar file_hash_entity_ids: The file hash entity identifiers associated with this file.
+ :vartype file_hash_entity_ids: list[str]
+ :ivar file_name: The file name without path (some alerts might not include path).
+ :vartype file_name: str
+ :ivar host_entity_id: The Host entity id which the file belongs to.
+ :vartype host_entity_id: str
"""
_validation = {
- "severity": {"required": True},
- "enabled": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "directory": {"readonly": True},
+ "file_hash_entity_ids": {"readonly": True},
+ "file_name": {"readonly": True},
+ "host_entity_id": {"readonly": True},
}
_attribute_map = {
- "severity": {"key": "severity", "type": "str"},
- "enabled": {"key": "enabled", "type": "bool"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "directory": {"key": "properties.directory", "type": "str"},
+ "file_hash_entity_ids": {"key": "properties.fileHashEntityIds", "type": "[str]"},
+ "file_name": {"key": "properties.fileName", "type": "str"},
+ "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
}
- def __init__(self, *, severity: Union[str, "_models.AlertSeverity"], enabled: bool, **kwargs):
- """
- :keyword severity: The Severity for a given source subtype consumed in Fusion detection.
- Required. Known values are: "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword enabled: Determines whether this severity is enabled or disabled for this source
- subtype consumed in Fusion detection. Required.
- :paramtype enabled: bool
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.severity = severity
- self.enabled = enabled
+ self.kind: str = "File"
+ self.additional_data = None
+ self.friendly_name = None
+ self.directory = None
+ self.file_hash_entity_ids = None
+ self.file_name = None
+ self.host_entity_id = None
-class FusionTemplateSourceSetting(_serialization.Model):
- """Represents a source signal consumed in Fusion detection.
+class FileEntityProperties(EntityCommonProperties):
+ """File entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar source_name: The name of a source signal consumed in Fusion detection. Required.
- :vartype source_name: str
- :ivar source_sub_types: All supported source subtypes under this source signal consumed in
- fusion detection.
- :vartype source_sub_types: list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSubType]
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar directory: The full path to the file.
+ :vartype directory: str
+ :ivar file_hash_entity_ids: The file hash entity identifiers associated with this file.
+ :vartype file_hash_entity_ids: list[str]
+ :ivar file_name: The file name without path (some alerts might not include path).
+ :vartype file_name: str
+ :ivar host_entity_id: The Host entity id which the file belongs to.
+ :vartype host_entity_id: str
"""
_validation = {
- "source_name": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "directory": {"readonly": True},
+ "file_hash_entity_ids": {"readonly": True},
+ "file_name": {"readonly": True},
+ "host_entity_id": {"readonly": True},
}
_attribute_map = {
- "source_name": {"key": "sourceName", "type": "str"},
- "source_sub_types": {"key": "sourceSubTypes", "type": "[FusionTemplateSourceSubType]"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "directory": {"key": "directory", "type": "str"},
+ "file_hash_entity_ids": {"key": "fileHashEntityIds", "type": "[str]"},
+ "file_name": {"key": "fileName", "type": "str"},
+ "host_entity_id": {"key": "hostEntityId", "type": "str"},
}
- def __init__(
- self,
- *,
- source_name: str,
- source_sub_types: Optional[List["_models.FusionTemplateSourceSubType"]] = None,
- **kwargs
- ):
- """
- :keyword source_name: The name of a source signal consumed in Fusion detection. Required.
- :paramtype source_name: str
- :keyword source_sub_types: All supported source subtypes under this source signal consumed in
- fusion detection.
- :paramtype source_sub_types:
- list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSubType]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.source_name = source_name
- self.source_sub_types = source_sub_types
+ self.directory = None
+ self.file_hash_entity_ids = None
+ self.file_name = None
+ self.host_entity_id = None
-class FusionTemplateSourceSubType(_serialization.Model):
- """Represents a source subtype under a source signal consumed in Fusion detection.
+class FileHashEntity(Entity):
+ """Represents a file hash entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar source_sub_type_name: The name of source subtype under a source signal consumed in Fusion
- detection. Required.
- :vartype source_sub_type_name: str
- :ivar source_sub_type_display_name: The display name of source subtype under a source signal
- consumed in Fusion detection.
- :vartype source_sub_type_display_name: str
- :ivar severity_filter: Severity configuration available for a source subtype consumed in fusion
- detection. Required.
- :vartype severity_filter:
- ~azure.mgmt.securityinsight.models.FusionTemplateSubTypeSeverityFilter
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar algorithm: The hash algorithm type. Known values are: "Unknown", "MD5", "SHA1", "SHA256",
+ and "SHA256AC".
+ :vartype algorithm: str or ~azure.mgmt.securityinsight.models.FileHashAlgorithm
+ :ivar hash_value: The file hash value.
+ :vartype hash_value: str
"""
_validation = {
- "source_sub_type_name": {"required": True},
- "source_sub_type_display_name": {"readonly": True},
- "severity_filter": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "algorithm": {"readonly": True},
+ "hash_value": {"readonly": True},
}
_attribute_map = {
- "source_sub_type_name": {"key": "sourceSubTypeName", "type": "str"},
- "source_sub_type_display_name": {"key": "sourceSubTypeDisplayName", "type": "str"},
- "severity_filter": {"key": "severityFilter", "type": "FusionTemplateSubTypeSeverityFilter"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "algorithm": {"key": "properties.algorithm", "type": "str"},
+ "hash_value": {"key": "properties.hashValue", "type": "str"},
}
- def __init__(
- self, *, source_sub_type_name: str, severity_filter: "_models.FusionTemplateSubTypeSeverityFilter", **kwargs
- ):
- """
- :keyword source_sub_type_name: The name of source subtype under a source signal consumed in
- Fusion detection. Required.
- :paramtype source_sub_type_name: str
- :keyword severity_filter: Severity configuration available for a source subtype consumed in
- fusion detection. Required.
- :paramtype severity_filter:
- ~azure.mgmt.securityinsight.models.FusionTemplateSubTypeSeverityFilter
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.source_sub_type_name = source_sub_type_name
- self.source_sub_type_display_name = None
- self.severity_filter = severity_filter
+ self.kind: str = "FileHash"
+ self.additional_data = None
+ self.friendly_name = None
+ self.algorithm = None
+ self.hash_value = None
-class FusionTemplateSubTypeSeverityFilter(_serialization.Model):
- """Represents severity configurations available for a source subtype consumed in Fusion detection.
+class FileHashEntityProperties(EntityCommonProperties):
+ """FileHash entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar is_supported: Determines whether severity configuration is supported for this source
- subtype consumed in Fusion detection. Required.
- :vartype is_supported: bool
- :ivar severity_filters: List of all supported severities for this source subtype consumed in
- Fusion detection.
- :vartype severity_filters: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar algorithm: The hash algorithm type. Known values are: "Unknown", "MD5", "SHA1", "SHA256",
+ and "SHA256AC".
+ :vartype algorithm: str or ~azure.mgmt.securityinsight.models.FileHashAlgorithm
+ :ivar hash_value: The file hash value.
+ :vartype hash_value: str
"""
_validation = {
- "is_supported": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "algorithm": {"readonly": True},
+ "hash_value": {"readonly": True},
}
_attribute_map = {
- "is_supported": {"key": "isSupported", "type": "bool"},
- "severity_filters": {"key": "severityFilters", "type": "[str]"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "algorithm": {"key": "algorithm", "type": "str"},
+ "hash_value": {"key": "hashValue", "type": "str"},
}
- def __init__(
- self,
- *,
- is_supported: bool,
- severity_filters: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- **kwargs
- ):
- """
- :keyword is_supported: Determines whether severity configuration is supported for this source
- subtype consumed in Fusion detection. Required.
- :paramtype is_supported: bool
- :keyword severity_filters: List of all supported severities for this source subtype consumed in
- Fusion detection.
- :paramtype severity_filters: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.is_supported = is_supported
- self.severity_filters = severity_filters
+ self.algorithm = None
+ self.hash_value = None
-class GeoLocation(_serialization.Model):
- """The geo-location context attached to the ip entity.
+class FileImport(Resource):
+ """Represents a file import in Azure Security Insights.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar asn: Autonomous System Number.
- :vartype asn: int
- :ivar city: City name.
- :vartype city: str
- :ivar country_code: The country code according to ISO 3166 format.
- :vartype country_code: str
- :ivar country_name: Country name according to ISO 3166 Alpha 2: the lowercase of the English
- Short Name.
- :vartype country_name: str
- :ivar latitude: The longitude of the identified location, expressed as a floating point number
- with range of -180 to 180, with positive numbers representing East and negative numbers
- representing West. Latitude and longitude are derived from the city or postal code.
- :vartype latitude: float
- :ivar longitude: The latitude of the identified location, expressed as a floating point number
- with range of - 90 to 90, with positive numbers representing North and negative numbers
- representing South. Latitude and longitude are derived from the city or postal code.
- :vartype longitude: float
- :ivar state: State name.
- :vartype state: str
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar ingestion_mode: Describes how to ingest the records in the file. Known values are:
+ "IngestOnlyIfAllAreValid", "IngestAnyValidRecords", and "Unspecified".
+ :vartype ingestion_mode: str or ~azure.mgmt.securityinsight.models.IngestionMode
+ :ivar content_type: The content type of this file. Known values are: "BasicIndicator",
+ "StixIndicator", and "Unspecified".
+ :vartype content_type: str or ~azure.mgmt.securityinsight.models.FileImportContentType
+ :ivar created_time_utc: The time the file was imported.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar error_file: Represents the error file (if the import was ingested with errors or failed
+ the validation).
+ :vartype error_file: ~azure.mgmt.securityinsight.models.FileMetadata
+ :ivar errors_preview: An ordered list of some of the errors that were encountered during
+ validation.
+ :vartype errors_preview: list[~azure.mgmt.securityinsight.models.ValidationError]
+ :ivar import_file: Represents the imported file.
+ :vartype import_file: ~azure.mgmt.securityinsight.models.FileMetadata
+ :ivar ingested_record_count: The number of records that have been successfully ingested.
+ :vartype ingested_record_count: int
+ :ivar source: The source for the data in the file.
+ :vartype source: str
+ :ivar state: The state of the file import. Known values are: "FatalError", "Ingested",
+ "IngestedWithErrors", "InProgress", "Invalid", "WaitingForUpload", and "Unspecified".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.FileImportState
+ :ivar total_record_count: The number of records in the file.
+ :vartype total_record_count: int
+ :ivar valid_record_count: The number of records that have passed validation.
+ :vartype valid_record_count: int
+ :ivar files_valid_until_time_utc: The time the files associated with this import are deleted
+ from the storage account.
+ :vartype files_valid_until_time_utc: ~datetime.datetime
+ :ivar import_valid_until_time_utc: The time the file import record is soft deleted from the
+ database and history.
+ :vartype import_valid_until_time_utc: ~datetime.datetime
"""
_validation = {
- "asn": {"readonly": True},
- "city": {"readonly": True},
- "country_code": {"readonly": True},
- "country_name": {"readonly": True},
- "latitude": {"readonly": True},
- "longitude": {"readonly": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "created_time_utc": {"readonly": True},
+ "error_file": {"readonly": True},
+ "errors_preview": {"readonly": True},
+ "ingested_record_count": {"readonly": True},
"state": {"readonly": True},
+ "total_record_count": {"readonly": True},
+ "valid_record_count": {"readonly": True},
+ "files_valid_until_time_utc": {"readonly": True},
+ "import_valid_until_time_utc": {"readonly": True},
}
_attribute_map = {
- "asn": {"key": "asn", "type": "int"},
- "city": {"key": "city", "type": "str"},
- "country_code": {"key": "countryCode", "type": "str"},
- "country_name": {"key": "countryName", "type": "str"},
- "latitude": {"key": "latitude", "type": "float"},
- "longitude": {"key": "longitude", "type": "float"},
- "state": {"key": "state", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "ingestion_mode": {"key": "properties.ingestionMode", "type": "str"},
+ "content_type": {"key": "properties.contentType", "type": "str"},
+ "created_time_utc": {"key": "properties.createdTimeUTC", "type": "iso-8601"},
+ "error_file": {"key": "properties.errorFile", "type": "FileMetadata"},
+ "errors_preview": {"key": "properties.errorsPreview", "type": "[ValidationError]"},
+ "import_file": {"key": "properties.importFile", "type": "FileMetadata"},
+ "ingested_record_count": {"key": "properties.ingestedRecordCount", "type": "int"},
+ "source": {"key": "properties.source", "type": "str"},
+ "state": {"key": "properties.state", "type": "str"},
+ "total_record_count": {"key": "properties.totalRecordCount", "type": "int"},
+ "valid_record_count": {"key": "properties.validRecordCount", "type": "int"},
+ "files_valid_until_time_utc": {"key": "properties.filesValidUntilTimeUTC", "type": "iso-8601"},
+ "import_valid_until_time_utc": {"key": "properties.importValidUntilTimeUTC", "type": "iso-8601"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self,
+ *,
+ ingestion_mode: Optional[Union[str, "_models.IngestionMode"]] = None,
+ content_type: Optional[Union[str, "_models.FileImportContentType"]] = None,
+ import_file: Optional["_models.FileMetadata"] = None,
+ source: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword ingestion_mode: Describes how to ingest the records in the file. Known values are:
+ "IngestOnlyIfAllAreValid", "IngestAnyValidRecords", and "Unspecified".
+ :paramtype ingestion_mode: str or ~azure.mgmt.securityinsight.models.IngestionMode
+ :keyword content_type: The content type of this file. Known values are: "BasicIndicator",
+ "StixIndicator", and "Unspecified".
+ :paramtype content_type: str or ~azure.mgmt.securityinsight.models.FileImportContentType
+ :keyword import_file: Represents the imported file.
+ :paramtype import_file: ~azure.mgmt.securityinsight.models.FileMetadata
+ :keyword source: The source for the data in the file.
+ :paramtype source: str
+ """
super().__init__(**kwargs)
- self.asn = None
- self.city = None
- self.country_code = None
- self.country_name = None
- self.latitude = None
- self.longitude = None
+ self.ingestion_mode = ingestion_mode
+ self.content_type = content_type
+ self.created_time_utc = None
+ self.error_file = None
+ self.errors_preview = None
+ self.import_file = import_file
+ self.ingested_record_count = None
+ self.source = source
self.state = None
+ self.total_record_count = None
+ self.valid_record_count = None
+ self.files_valid_until_time_utc = None
+ self.import_valid_until_time_utc = None
-class GetInsightsErrorKind(_serialization.Model):
- """GetInsights Query Errors.
+class FileImportList(_serialization.Model):
+ """List all the file imports.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar kind: the query kind. Required. "Insight"
- :vartype kind: str or ~azure.mgmt.securityinsight.models.GetInsightsError
- :ivar query_id: the query id.
- :vartype query_id: str
- :ivar error_message: the error message. Required.
- :vartype error_message: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of file imports.
+ :vartype next_link: str
+ :ivar value: Array of file imports. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.FileImport]
"""
_validation = {
- "kind": {"required": True},
- "error_message": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "query_id": {"key": "queryId", "type": "str"},
- "error_message": {"key": "errorMessage", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FileImport]"},
}
- def __init__(
- self,
- *,
- kind: Union[str, "_models.GetInsightsError"],
- error_message: str,
- query_id: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.FileImport"], **kwargs: Any) -> None:
"""
- :keyword kind: the query kind. Required. "Insight"
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.GetInsightsError
- :keyword query_id: the query id.
- :paramtype query_id: str
- :keyword error_message: the error message. Required.
- :paramtype error_message: str
+ :keyword value: Array of file imports. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.FileImport]
"""
super().__init__(**kwargs)
- self.kind = kind
- self.query_id = query_id
- self.error_message = error_message
+ self.next_link = None
+ self.value = value
-class GetInsightsResultsMetadata(_serialization.Model):
- """Get Insights result metadata.
+class FileMetadata(_serialization.Model):
+ """Represents a file.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar total_count: the total items found for the insights request. Required.
- :vartype total_count: int
- :ivar errors: information about the failed queries.
- :vartype errors: list[~azure.mgmt.securityinsight.models.GetInsightsErrorKind]
+ :ivar file_format: The format of the file. Known values are: "CSV", "JSON", and "Unspecified".
+ :vartype file_format: str or ~azure.mgmt.securityinsight.models.FileFormat
+ :ivar file_name: The name of the file.
+ :vartype file_name: str
+ :ivar file_size: The size of the file.
+ :vartype file_size: int
+ :ivar file_content_uri: A URI with a valid SAS token to allow uploading / downloading the file.
+ :vartype file_content_uri: str
+ :ivar delete_status: Indicates whether the file was deleted from the storage account. Known
+ values are: "Deleted", "NotDeleted", and "Unspecified".
+ :vartype delete_status: str or ~azure.mgmt.securityinsight.models.DeleteStatus
"""
_validation = {
- "total_count": {"required": True},
+ "file_content_uri": {"readonly": True},
+ "delete_status": {"readonly": True},
}
_attribute_map = {
- "total_count": {"key": "totalCount", "type": "int"},
- "errors": {"key": "errors", "type": "[GetInsightsErrorKind]"},
+ "file_format": {"key": "fileFormat", "type": "str"},
+ "file_name": {"key": "fileName", "type": "str"},
+ "file_size": {"key": "fileSize", "type": "int"},
+ "file_content_uri": {"key": "fileContentUri", "type": "str"},
+ "delete_status": {"key": "deleteStatus", "type": "str"},
}
- def __init__(self, *, total_count: int, errors: Optional[List["_models.GetInsightsErrorKind"]] = None, **kwargs):
- """
- :keyword total_count: the total items found for the insights request. Required.
- :paramtype total_count: int
- :keyword errors: information about the failed queries.
- :paramtype errors: list[~azure.mgmt.securityinsight.models.GetInsightsErrorKind]
+ def __init__(
+ self,
+ *,
+ file_format: Optional[Union[str, "_models.FileFormat"]] = None,
+ file_name: Optional[str] = None,
+ file_size: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
"""
- super().__init__(**kwargs)
- self.total_count = total_count
- self.errors = errors
-
-
-class GetQueriesResponse(_serialization.Model):
- """Retrieve queries for entity result operation response.
-
- :ivar value: The query result values.
- :vartype value: list[~azure.mgmt.securityinsight.models.EntityQueryItem]
- """
-
- _attribute_map = {
- "value": {"key": "value", "type": "[EntityQueryItem]"},
- }
-
- def __init__(self, *, value: Optional[List["_models.EntityQueryItem"]] = None, **kwargs):
- """
- :keyword value: The query result values.
- :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQueryItem]
+ :keyword file_format: The format of the file. Known values are: "CSV", "JSON", and
+ "Unspecified".
+ :paramtype file_format: str or ~azure.mgmt.securityinsight.models.FileFormat
+ :keyword file_name: The name of the file.
+ :paramtype file_name: str
+ :keyword file_size: The size of the file.
+ :paramtype file_size: int
"""
super().__init__(**kwargs)
- self.value = value
-
-
-class GitHubResourceInfo(_serialization.Model):
- """Resources created in GitHub repository.
-
- :ivar app_installation_id: GitHub application installation id.
- :vartype app_installation_id: str
- """
-
- _attribute_map = {
- "app_installation_id": {"key": "appInstallationId", "type": "str"},
- }
+ self.file_format = file_format
+ self.file_name = file_name
+ self.file_size = file_size
+ self.file_content_uri = None
+ self.delete_status = None
- def __init__(self, *, app_installation_id: Optional[str] = None, **kwargs):
- """
- :keyword app_installation_id: GitHub application installation id.
- :paramtype app_installation_id: str
- """
- super().__init__(**kwargs)
- self.app_installation_id = app_installation_id
+class FusionAlertRule(AlertRule):
+ """Represents Fusion alert rule.
-class GroupingConfiguration(_serialization.Model):
- """Grouping configuration property bag.
+ Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar enabled: Grouping enabled. Required.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
+ :vartype alert_rule_template_name: str
+ :ivar description: The description of the alert rule.
+ :vartype description: str
+ :ivar display_name: The display name for alerts created by this alert rule.
+ :vartype display_name: str
+ :ivar enabled: Determines whether this alert rule is enabled or disabled.
:vartype enabled: bool
- :ivar reopen_closed_incident: Re-open closed matching incidents. Required.
- :vartype reopen_closed_incident: bool
- :ivar lookback_duration: Limit the group to alerts created within the lookback duration (in ISO
- 8601 duration format). Required.
- :vartype lookback_duration: ~datetime.timedelta
- :ivar matching_method: Grouping matching method. When method is Selected at least one of
- groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.
- Required. Known values are: "AllEntities", "AnyAlert", and "Selected".
- :vartype matching_method: str or ~azure.mgmt.securityinsight.models.MatchingMethod
- :ivar group_by_entities: A list of entity types to group by (when matchingMethod is Selected).
- Only entities defined in the current alert rule may be used.
- :vartype group_by_entities: list[str or ~azure.mgmt.securityinsight.models.EntityMappingType]
- :ivar group_by_alert_details: A list of alert details to group by (when matchingMethod is
- Selected).
- :vartype group_by_alert_details: list[str or ~azure.mgmt.securityinsight.models.AlertDetail]
- :ivar group_by_custom_details: A list of custom details keys to group by (when matchingMethod
- is Selected). Only keys defined in the current alert rule may be used.
- :vartype group_by_custom_details: list[str]
+ :ivar source_settings: Configuration for all supported source signals in fusion detection.
+ :vartype source_settings: list[~azure.mgmt.securityinsight.models.FusionSourceSettings]
+ :ivar scenario_exclusion_patterns: Configuration to exclude scenarios in fusion detection.
+ :vartype scenario_exclusion_patterns:
+ list[~azure.mgmt.securityinsight.models.FusionScenarioExclusionPattern]
+ :ivar last_modified_utc: The last time that this alert has been modified.
+ :vartype last_modified_utc: ~datetime.datetime
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
"""
_validation = {
- "enabled": {"required": True},
- "reopen_closed_incident": {"required": True},
- "lookback_duration": {"required": True},
- "matching_method": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "description": {"readonly": True},
+ "display_name": {"readonly": True},
+ "last_modified_utc": {"readonly": True},
+ "severity": {"readonly": True},
+ "tactics": {"readonly": True},
+ "techniques": {"readonly": True},
+ "sub_techniques": {"readonly": True},
}
_attribute_map = {
- "enabled": {"key": "enabled", "type": "bool"},
- "reopen_closed_incident": {"key": "reopenClosedIncident", "type": "bool"},
- "lookback_duration": {"key": "lookbackDuration", "type": "duration"},
- "matching_method": {"key": "matchingMethod", "type": "str"},
- "group_by_entities": {"key": "groupByEntities", "type": "[str]"},
- "group_by_alert_details": {"key": "groupByAlertDetails", "type": "[str]"},
- "group_by_custom_details": {"key": "groupByCustomDetails", "type": "[str]"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "enabled": {"key": "properties.enabled", "type": "bool"},
+ "source_settings": {"key": "properties.sourceSettings", "type": "[FusionSourceSettings]"},
+ "scenario_exclusion_patterns": {
+ "key": "properties.scenarioExclusionPatterns",
+ "type": "[FusionScenarioExclusionPattern]",
+ },
+ "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
}
def __init__(
self,
*,
- enabled: bool,
- reopen_closed_incident: bool,
- lookback_duration: datetime.timedelta,
- matching_method: Union[str, "_models.MatchingMethod"],
- group_by_entities: Optional[List[Union[str, "_models.EntityMappingType"]]] = None,
- group_by_alert_details: Optional[List[Union[str, "_models.AlertDetail"]]] = None,
- group_by_custom_details: Optional[List[str]] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ alert_rule_template_name: Optional[str] = None,
+ enabled: Optional[bool] = None,
+ source_settings: Optional[List["_models.FusionSourceSettings"]] = None,
+ scenario_exclusion_patterns: Optional[List["_models.FusionScenarioExclusionPattern"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword enabled: Grouping enabled. Required.
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword alert_rule_template_name: The Name of the alert rule template used to create this
+ rule.
+ :paramtype alert_rule_template_name: str
+ :keyword enabled: Determines whether this alert rule is enabled or disabled.
:paramtype enabled: bool
- :keyword reopen_closed_incident: Re-open closed matching incidents. Required.
- :paramtype reopen_closed_incident: bool
- :keyword lookback_duration: Limit the group to alerts created within the lookback duration (in
- ISO 8601 duration format). Required.
- :paramtype lookback_duration: ~datetime.timedelta
- :keyword matching_method: Grouping matching method. When method is Selected at least one of
- groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.
- Required. Known values are: "AllEntities", "AnyAlert", and "Selected".
- :paramtype matching_method: str or ~azure.mgmt.securityinsight.models.MatchingMethod
- :keyword group_by_entities: A list of entity types to group by (when matchingMethod is
- Selected). Only entities defined in the current alert rule may be used.
- :paramtype group_by_entities: list[str or ~azure.mgmt.securityinsight.models.EntityMappingType]
- :keyword group_by_alert_details: A list of alert details to group by (when matchingMethod is
- Selected).
- :paramtype group_by_alert_details: list[str or ~azure.mgmt.securityinsight.models.AlertDetail]
- :keyword group_by_custom_details: A list of custom details keys to group by (when
- matchingMethod is Selected). Only keys defined in the current alert rule may be used.
- :paramtype group_by_custom_details: list[str]
+ :keyword source_settings: Configuration for all supported source signals in fusion detection.
+ :paramtype source_settings: list[~azure.mgmt.securityinsight.models.FusionSourceSettings]
+ :keyword scenario_exclusion_patterns: Configuration to exclude scenarios in fusion detection.
+ :paramtype scenario_exclusion_patterns:
+ list[~azure.mgmt.securityinsight.models.FusionScenarioExclusionPattern]
"""
- super().__init__(**kwargs)
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "Fusion"
+ self.alert_rule_template_name = alert_rule_template_name
+ self.description = None
+ self.display_name = None
self.enabled = enabled
- self.reopen_closed_incident = reopen_closed_incident
- self.lookback_duration = lookback_duration
- self.matching_method = matching_method
- self.group_by_entities = group_by_entities
- self.group_by_alert_details = group_by_alert_details
- self.group_by_custom_details = group_by_custom_details
+ self.source_settings = source_settings
+ self.scenario_exclusion_patterns = scenario_exclusion_patterns
+ self.last_modified_utc = None
+ self.severity = None
+ self.tactics = None
+ self.techniques = None
+ self.sub_techniques = None
-class HostEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a host entity.
+class FusionAlertRuleTemplate(AlertRuleTemplate):
+ """Represents Fusion alert rule template.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -9635,57 +10553,48 @@ class HostEntity(Entity): # pylint: disable=too-many-instance-attributes
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar azure_id: The azure resource id of the VM.
- :vartype azure_id: str
- :ivar dns_domain: The DNS domain that this host belongs to. Should contain the compete DNS
- suffix for the domain.
- :vartype dns_domain: str
- :ivar host_name: The hostname without the domain suffix.
- :vartype host_name: str
- :ivar is_domain_joined: Determines whether this host belongs to a domain.
- :vartype is_domain_joined: bool
- :ivar net_bios_name: The host name (pre-windows2000).
- :vartype net_bios_name: str
- :ivar nt_domain: The NT domain that this host belongs to.
- :vartype nt_domain: str
- :ivar oms_agent_id: The OMS agent id, if the host has OMS agent installed.
- :vartype oms_agent_id: str
- :ivar os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
- "IOS", and "Unknown".
- :vartype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
- :ivar os_version: A free text representation of the operating system. This field is meant to
- hold specific versions the are more fine grained than OSFamily or future values not supported
- by OSFamily enumeration.
- :vartype os_version: str
- """
-
- _validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "azure_id": {"readonly": True},
- "dns_domain": {"readonly": True},
- "host_name": {"readonly": True},
- "is_domain_joined": {"readonly": True},
- "net_bios_name": {"readonly": True},
- "nt_domain": {"readonly": True},
- "oms_agent_id": {"readonly": True},
- "os_version": {"readonly": True},
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar last_updated_date_utc: The time that this alert rule template was last updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data connectors for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar tactics: The tactics of the alert rule template.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
+ :ivar source_settings: All supported source signal configurations consumed in fusion detection.
+ :vartype source_settings: list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSetting]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "created_date_utc": {"readonly": True},
+ "last_updated_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -9694,1846 +10603,1777 @@ class HostEntity(Entity): # pylint: disable=too-many-instance-attributes
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "azure_id": {"key": "properties.azureID", "type": "str"},
- "dns_domain": {"key": "properties.dnsDomain", "type": "str"},
- "host_name": {"key": "properties.hostName", "type": "str"},
- "is_domain_joined": {"key": "properties.isDomainJoined", "type": "bool"},
- "net_bios_name": {"key": "properties.netBiosName", "type": "str"},
- "nt_domain": {"key": "properties.ntDomain", "type": "str"},
- "oms_agent_id": {"key": "properties.omsAgentID", "type": "str"},
- "os_family": {"key": "properties.osFamily", "type": "str"},
- "os_version": {"key": "properties.osVersion", "type": "str"},
+ "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
+ "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
+ "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "required_data_connectors": {
+ "key": "properties.requiredDataConnectors",
+ "type": "[AlertRuleTemplateDataSource]",
+ },
+ "status": {"key": "properties.status", "type": "str"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
+ "source_settings": {"key": "properties.sourceSettings", "type": "[FusionTemplateSourceSetting]"},
}
- def __init__(self, *, os_family: Optional[Union[str, "_models.OSFamily"]] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ sub_techniques: Optional[List[str]] = None,
+ source_settings: Optional[List["_models.FusionTemplateSourceSetting"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
- "IOS", and "Unknown".
- :paramtype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data connectors for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword tactics: The tactics of the alert rule template.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
+ :keyword sub_techniques: The sub-techniques of the alert rule.
+ :paramtype sub_techniques: list[str]
+ :keyword source_settings: All supported source signal configurations consumed in fusion
+ detection.
+ :paramtype source_settings:
+ list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSetting]
"""
super().__init__(**kwargs)
- self.kind: str = "Host"
- self.additional_data = None
- self.friendly_name = None
- self.azure_id = None
- self.dns_domain = None
- self.host_name = None
- self.is_domain_joined = None
- self.net_bios_name = None
- self.nt_domain = None
- self.oms_agent_id = None
- self.os_family = os_family
- self.os_version = None
+ self.kind: str = "Fusion"
+ self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
+ self.created_date_utc = None
+ self.last_updated_date_utc = None
+ self.description = description
+ self.display_name = display_name
+ self.required_data_connectors = required_data_connectors
+ self.status = status
+ self.severity = severity
+ self.tactics = tactics
+ self.techniques = techniques
+ self.sub_techniques = sub_techniques
+ self.source_settings = source_settings
-class HostEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Host entity property bag.
+class FusionScenarioExclusionPattern(_serialization.Model):
+ """Represents a Fusion scenario exclusion patterns in Fusion detection.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar azure_id: The azure resource id of the VM.
- :vartype azure_id: str
- :ivar dns_domain: The DNS domain that this host belongs to. Should contain the compete DNS
- suffix for the domain.
- :vartype dns_domain: str
- :ivar host_name: The hostname without the domain suffix.
- :vartype host_name: str
- :ivar is_domain_joined: Determines whether this host belongs to a domain.
- :vartype is_domain_joined: bool
- :ivar net_bios_name: The host name (pre-windows2000).
- :vartype net_bios_name: str
- :ivar nt_domain: The NT domain that this host belongs to.
- :vartype nt_domain: str
- :ivar oms_agent_id: The OMS agent id, if the host has OMS agent installed.
- :vartype oms_agent_id: str
- :ivar os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
- "IOS", and "Unknown".
- :vartype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
- :ivar os_version: A free text representation of the operating system. This field is meant to
- hold specific versions the are more fine grained than OSFamily or future values not supported
- by OSFamily enumeration.
- :vartype os_version: str
+ :ivar exclusion_pattern: Scenario exclusion pattern. Required.
+ :vartype exclusion_pattern: str
+ :ivar date_added_in_utc: DateTime when scenario exclusion pattern is added in UTC. Required.
+ :vartype date_added_in_utc: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "azure_id": {"readonly": True},
- "dns_domain": {"readonly": True},
- "host_name": {"readonly": True},
- "is_domain_joined": {"readonly": True},
- "net_bios_name": {"readonly": True},
- "nt_domain": {"readonly": True},
- "oms_agent_id": {"readonly": True},
- "os_version": {"readonly": True},
+ "exclusion_pattern": {"required": True},
+ "date_added_in_utc": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "azure_id": {"key": "azureID", "type": "str"},
- "dns_domain": {"key": "dnsDomain", "type": "str"},
- "host_name": {"key": "hostName", "type": "str"},
- "is_domain_joined": {"key": "isDomainJoined", "type": "bool"},
- "net_bios_name": {"key": "netBiosName", "type": "str"},
- "nt_domain": {"key": "ntDomain", "type": "str"},
- "oms_agent_id": {"key": "omsAgentID", "type": "str"},
- "os_family": {"key": "osFamily", "type": "str"},
- "os_version": {"key": "osVersion", "type": "str"},
+ "exclusion_pattern": {"key": "exclusionPattern", "type": "str"},
+ "date_added_in_utc": {"key": "dateAddedInUTC", "type": "str"},
}
- def __init__(self, *, os_family: Optional[Union[str, "_models.OSFamily"]] = None, **kwargs):
+ def __init__(self, *, exclusion_pattern: str, date_added_in_utc: str, **kwargs: Any) -> None:
"""
- :keyword os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
- "IOS", and "Unknown".
- :paramtype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
+ :keyword exclusion_pattern: Scenario exclusion pattern. Required.
+ :paramtype exclusion_pattern: str
+ :keyword date_added_in_utc: DateTime when scenario exclusion pattern is added in UTC. Required.
+ :paramtype date_added_in_utc: str
"""
super().__init__(**kwargs)
- self.azure_id = None
- self.dns_domain = None
- self.host_name = None
- self.is_domain_joined = None
- self.net_bios_name = None
- self.nt_domain = None
- self.oms_agent_id = None
- self.os_family = os_family
- self.os_version = None
+ self.exclusion_pattern = exclusion_pattern
+ self.date_added_in_utc = date_added_in_utc
-class HuntingBookmark(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a Hunting bookmark entity.
+class FusionSourceSettings(_serialization.Model):
+ """Represents a supported source signal configuration in Fusion detection.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar created: The time the bookmark was created.
- :vartype created: ~datetime.datetime
- :ivar created_by: Describes a user that created the bookmark.
- :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar display_name: The display name of the bookmark.
- :vartype display_name: str
- :ivar event_time: The time of the event.
- :vartype event_time: ~datetime.datetime
- :ivar labels: List of labels relevant to this bookmark.
- :vartype labels: list[str]
- :ivar notes: The notes of the bookmark.
- :vartype notes: str
- :ivar query: The query of the bookmark.
- :vartype query: str
- :ivar query_result: The query result of the bookmark.
- :vartype query_result: str
- :ivar updated: The last time the bookmark was updated.
- :vartype updated: ~datetime.datetime
- :ivar updated_by: Describes a user that updated the bookmark.
- :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar incident_info: Describes an incident that relates to bookmark.
- :vartype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
- """
+ :ivar enabled: Determines whether this source signal is enabled or disabled in Fusion
+ detection. Required.
+ :vartype enabled: bool
+ :ivar source_name: Name of the Fusion source signal. Refer to Fusion alert rule template for
+ supported values. Required.
+ :vartype source_name: str
+ :ivar source_sub_types: Configuration for all source subtypes under this source signal consumed
+ in fusion detection.
+ :vartype source_sub_types: list[~azure.mgmt.securityinsight.models.FusionSourceSubTypeSetting]
+ """
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
+ "enabled": {"required": True},
+ "source_name": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "created": {"key": "properties.created", "type": "iso-8601"},
- "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "event_time": {"key": "properties.eventTime", "type": "iso-8601"},
- "labels": {"key": "properties.labels", "type": "[str]"},
- "notes": {"key": "properties.notes", "type": "str"},
- "query": {"key": "properties.query", "type": "str"},
- "query_result": {"key": "properties.queryResult", "type": "str"},
- "updated": {"key": "properties.updated", "type": "iso-8601"},
- "updated_by": {"key": "properties.updatedBy", "type": "UserInfo"},
- "incident_info": {"key": "properties.incidentInfo", "type": "IncidentInfo"},
+ "enabled": {"key": "enabled", "type": "bool"},
+ "source_name": {"key": "sourceName", "type": "str"},
+ "source_sub_types": {"key": "sourceSubTypes", "type": "[FusionSourceSubTypeSetting]"},
}
def __init__(
self,
*,
- created: Optional[datetime.datetime] = None,
- created_by: Optional["_models.UserInfo"] = None,
- display_name: Optional[str] = None,
- event_time: Optional[datetime.datetime] = None,
- labels: Optional[List[str]] = None,
- notes: Optional[str] = None,
- query: Optional[str] = None,
- query_result: Optional[str] = None,
- updated: Optional[datetime.datetime] = None,
- updated_by: Optional["_models.UserInfo"] = None,
- incident_info: Optional["_models.IncidentInfo"] = None,
- **kwargs
- ):
+ enabled: bool,
+ source_name: str,
+ source_sub_types: Optional[List["_models.FusionSourceSubTypeSetting"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword created: The time the bookmark was created.
- :paramtype created: ~datetime.datetime
- :keyword created_by: Describes a user that created the bookmark.
- :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword display_name: The display name of the bookmark.
- :paramtype display_name: str
- :keyword event_time: The time of the event.
- :paramtype event_time: ~datetime.datetime
- :keyword labels: List of labels relevant to this bookmark.
- :paramtype labels: list[str]
- :keyword notes: The notes of the bookmark.
- :paramtype notes: str
- :keyword query: The query of the bookmark.
- :paramtype query: str
- :keyword query_result: The query result of the bookmark.
- :paramtype query_result: str
- :keyword updated: The last time the bookmark was updated.
- :paramtype updated: ~datetime.datetime
- :keyword updated_by: Describes a user that updated the bookmark.
- :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword incident_info: Describes an incident that relates to bookmark.
- :paramtype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
+ :keyword enabled: Determines whether this source signal is enabled or disabled in Fusion
+ detection. Required.
+ :paramtype enabled: bool
+ :keyword source_name: Name of the Fusion source signal. Refer to Fusion alert rule template for
+ supported values. Required.
+ :paramtype source_name: str
+ :keyword source_sub_types: Configuration for all source subtypes under this source signal
+ consumed in fusion detection.
+ :paramtype source_sub_types:
+ list[~azure.mgmt.securityinsight.models.FusionSourceSubTypeSetting]
"""
super().__init__(**kwargs)
- self.kind: str = "Bookmark"
- self.additional_data = None
- self.friendly_name = None
- self.created = created
- self.created_by = created_by
- self.display_name = display_name
- self.event_time = event_time
- self.labels = labels
- self.notes = notes
- self.query = query
- self.query_result = query_result
- self.updated = updated
- self.updated_by = updated_by
- self.incident_info = incident_info
+ self.enabled = enabled
+ self.source_name = source_name
+ self.source_sub_types = source_sub_types
-class HuntingBookmarkProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Describes bookmark properties.
+class FusionSourceSubTypeSetting(_serialization.Model):
+ """Represents a supported source subtype configuration under a source signal in Fusion detection.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar created: The time the bookmark was created.
- :vartype created: ~datetime.datetime
- :ivar created_by: Describes a user that created the bookmark.
- :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar display_name: The display name of the bookmark. Required.
- :vartype display_name: str
- :ivar event_time: The time of the event.
- :vartype event_time: ~datetime.datetime
- :ivar labels: List of labels relevant to this bookmark.
- :vartype labels: list[str]
- :ivar notes: The notes of the bookmark.
- :vartype notes: str
- :ivar query: The query of the bookmark. Required.
- :vartype query: str
- :ivar query_result: The query result of the bookmark.
- :vartype query_result: str
- :ivar updated: The last time the bookmark was updated.
- :vartype updated: ~datetime.datetime
- :ivar updated_by: Describes a user that updated the bookmark.
- :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar incident_info: Describes an incident that relates to bookmark.
- :vartype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
+ :ivar enabled: Determines whether this source subtype under source signal is enabled or
+ disabled in Fusion detection. Required.
+ :vartype enabled: bool
+ :ivar source_sub_type_name: The Name of the source subtype under a given source signal in
+ Fusion detection. Refer to Fusion alert rule template for supported values. Required.
+ :vartype source_sub_type_name: str
+ :ivar source_sub_type_display_name: The display name of source subtype under a source signal
+ consumed in Fusion detection.
+ :vartype source_sub_type_display_name: str
+ :ivar severity_filters: Severity configuration for a source subtype consumed in fusion
+ detection. Required.
+ :vartype severity_filters: ~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFilter
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "display_name": {"required": True},
- "query": {"required": True},
+ "enabled": {"required": True},
+ "source_sub_type_name": {"required": True},
+ "source_sub_type_display_name": {"readonly": True},
+ "severity_filters": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "created": {"key": "created", "type": "iso-8601"},
- "created_by": {"key": "createdBy", "type": "UserInfo"},
- "display_name": {"key": "displayName", "type": "str"},
- "event_time": {"key": "eventTime", "type": "iso-8601"},
- "labels": {"key": "labels", "type": "[str]"},
- "notes": {"key": "notes", "type": "str"},
- "query": {"key": "query", "type": "str"},
- "query_result": {"key": "queryResult", "type": "str"},
- "updated": {"key": "updated", "type": "iso-8601"},
- "updated_by": {"key": "updatedBy", "type": "UserInfo"},
- "incident_info": {"key": "incidentInfo", "type": "IncidentInfo"},
+ "enabled": {"key": "enabled", "type": "bool"},
+ "source_sub_type_name": {"key": "sourceSubTypeName", "type": "str"},
+ "source_sub_type_display_name": {"key": "sourceSubTypeDisplayName", "type": "str"},
+ "severity_filters": {"key": "severityFilters", "type": "FusionSubTypeSeverityFilter"},
}
def __init__(
self,
*,
- display_name: str,
- query: str,
- created: Optional[datetime.datetime] = None,
- created_by: Optional["_models.UserInfo"] = None,
- event_time: Optional[datetime.datetime] = None,
- labels: Optional[List[str]] = None,
- notes: Optional[str] = None,
- query_result: Optional[str] = None,
- updated: Optional[datetime.datetime] = None,
- updated_by: Optional["_models.UserInfo"] = None,
- incident_info: Optional["_models.IncidentInfo"] = None,
- **kwargs
- ):
+ enabled: bool,
+ source_sub_type_name: str,
+ severity_filters: "_models.FusionSubTypeSeverityFilter",
+ **kwargs: Any
+ ) -> None:
"""
- :keyword created: The time the bookmark was created.
- :paramtype created: ~datetime.datetime
- :keyword created_by: Describes a user that created the bookmark.
- :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword display_name: The display name of the bookmark. Required.
- :paramtype display_name: str
- :keyword event_time: The time of the event.
- :paramtype event_time: ~datetime.datetime
- :keyword labels: List of labels relevant to this bookmark.
- :paramtype labels: list[str]
- :keyword notes: The notes of the bookmark.
- :paramtype notes: str
- :keyword query: The query of the bookmark. Required.
- :paramtype query: str
- :keyword query_result: The query result of the bookmark.
- :paramtype query_result: str
- :keyword updated: The last time the bookmark was updated.
- :paramtype updated: ~datetime.datetime
- :keyword updated_by: Describes a user that updated the bookmark.
- :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword incident_info: Describes an incident that relates to bookmark.
- :paramtype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
+ :keyword enabled: Determines whether this source subtype under source signal is enabled or
+ disabled in Fusion detection. Required.
+ :paramtype enabled: bool
+ :keyword source_sub_type_name: The Name of the source subtype under a given source signal in
+ Fusion detection. Refer to Fusion alert rule template for supported values. Required.
+ :paramtype source_sub_type_name: str
+ :keyword severity_filters: Severity configuration for a source subtype consumed in fusion
+ detection. Required.
+ :paramtype severity_filters: ~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFilter
"""
super().__init__(**kwargs)
- self.created = created
- self.created_by = created_by
- self.display_name = display_name
- self.event_time = event_time
- self.labels = labels
- self.notes = notes
- self.query = query
- self.query_result = query_result
- self.updated = updated
- self.updated_by = updated_by
- self.incident_info = incident_info
+ self.enabled = enabled
+ self.source_sub_type_name = source_sub_type_name
+ self.source_sub_type_display_name = None
+ self.severity_filters = severity_filters
-class Incident(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Incident.
+class FusionSubTypeSeverityFilter(_serialization.Model):
+ """Represents severity configuration for a source subtype consumed in Fusion detection.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar title: The title of the incident.
- :vartype title: str
- :ivar description: The description of the incident.
- :vartype description: str
- :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :ivar status: The status of the incident. Known values are: "New", "Active", and "Closed".
- :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
- :ivar classification: The reason the incident was closed. Known values are: "Undetermined",
- "TruePositive", "BenignPositive", and "FalsePositive".
- :vartype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
- :ivar classification_reason: The classification reason the incident was closed with. Known
- values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
- "InaccurateData".
- :vartype classification_reason: str or
- ~azure.mgmt.securityinsight.models.IncidentClassificationReason
- :ivar classification_comment: Describes the reason the incident was closed.
- :vartype classification_comment: str
- :ivar owner: Describes a user that the incident is assigned to.
- :vartype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
- :ivar labels: List of labels relevant to this incident.
- :vartype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
- :ivar first_activity_time_utc: The time of the first activity in the incident.
- :vartype first_activity_time_utc: ~datetime.datetime
- :ivar last_activity_time_utc: The time of the last activity in the incident.
- :vartype last_activity_time_utc: ~datetime.datetime
- :ivar last_modified_time_utc: The last time the incident was updated.
- :vartype last_modified_time_utc: ~datetime.datetime
- :ivar created_time_utc: The time the incident was created.
- :vartype created_time_utc: ~datetime.datetime
- :ivar incident_number: A sequential number.
- :vartype incident_number: int
- :ivar additional_data: Additional data on the incident.
- :vartype additional_data: ~azure.mgmt.securityinsight.models.IncidentAdditionalData
- :ivar related_analytic_rule_ids: List of resource ids of Analytic rules related to the
- incident.
- :vartype related_analytic_rule_ids: list[str]
- :ivar incident_url: The deep-link url to the incident in Azure portal.
- :vartype incident_url: str
- :ivar provider_name: The name of the source provider that generated the incident.
- :vartype provider_name: str
- :ivar provider_incident_id: The incident ID assigned by the incident provider.
- :vartype provider_incident_id: str
- :ivar team_information: Describes a team for the incident.
- :vartype team_information: ~azure.mgmt.securityinsight.models.TeamInformation
+ :ivar is_supported: Determines whether this source subtype supports severity configuration or
+ not.
+ :vartype is_supported: bool
+ :ivar filters: Individual Severity configuration settings for a given source subtype consumed
+ in Fusion detection.
+ :vartype filters: list[~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFiltersItem]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "last_modified_time_utc": {"readonly": True},
- "created_time_utc": {"readonly": True},
- "incident_number": {"readonly": True},
- "additional_data": {"readonly": True},
- "related_analytic_rule_ids": {"readonly": True},
- "incident_url": {"readonly": True},
+ "is_supported": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "title": {"key": "properties.title", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "severity": {"key": "properties.severity", "type": "str"},
- "status": {"key": "properties.status", "type": "str"},
- "classification": {"key": "properties.classification", "type": "str"},
- "classification_reason": {"key": "properties.classificationReason", "type": "str"},
- "classification_comment": {"key": "properties.classificationComment", "type": "str"},
- "owner": {"key": "properties.owner", "type": "IncidentOwnerInfo"},
- "labels": {"key": "properties.labels", "type": "[IncidentLabel]"},
- "first_activity_time_utc": {"key": "properties.firstActivityTimeUtc", "type": "iso-8601"},
- "last_activity_time_utc": {"key": "properties.lastActivityTimeUtc", "type": "iso-8601"},
- "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
- "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
- "incident_number": {"key": "properties.incidentNumber", "type": "int"},
- "additional_data": {"key": "properties.additionalData", "type": "IncidentAdditionalData"},
- "related_analytic_rule_ids": {"key": "properties.relatedAnalyticRuleIds", "type": "[str]"},
- "incident_url": {"key": "properties.incidentUrl", "type": "str"},
- "provider_name": {"key": "properties.providerName", "type": "str"},
- "provider_incident_id": {"key": "properties.providerIncidentId", "type": "str"},
- "team_information": {"key": "properties.teamInformation", "type": "TeamInformation"},
+ "is_supported": {"key": "isSupported", "type": "bool"},
+ "filters": {"key": "filters", "type": "[FusionSubTypeSeverityFiltersItem]"},
}
- def __init__( # pylint: disable=too-many-locals
- self,
- *,
- etag: Optional[str] = None,
- title: Optional[str] = None,
- description: Optional[str] = None,
- severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
- status: Optional[Union[str, "_models.IncidentStatus"]] = None,
- classification: Optional[Union[str, "_models.IncidentClassification"]] = None,
- classification_reason: Optional[Union[str, "_models.IncidentClassificationReason"]] = None,
- classification_comment: Optional[str] = None,
- owner: Optional["_models.IncidentOwnerInfo"] = None,
- labels: Optional[List["_models.IncidentLabel"]] = None,
- first_activity_time_utc: Optional[datetime.datetime] = None,
- last_activity_time_utc: Optional[datetime.datetime] = None,
- provider_name: Optional[str] = None,
- provider_incident_id: Optional[str] = None,
- team_information: Optional["_models.TeamInformation"] = None,
- **kwargs
- ):
+ def __init__(
+ self, *, filters: Optional[List["_models.FusionSubTypeSeverityFiltersItem"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword title: The title of the incident.
- :paramtype title: str
- :keyword description: The description of the incident.
- :paramtype description: str
- :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :keyword status: The status of the incident. Known values are: "New", "Active", and "Closed".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
- :keyword classification: The reason the incident was closed. Known values are: "Undetermined",
- "TruePositive", "BenignPositive", and "FalsePositive".
- :paramtype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
- :keyword classification_reason: The classification reason the incident was closed with. Known
- values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
- "InaccurateData".
- :paramtype classification_reason: str or
- ~azure.mgmt.securityinsight.models.IncidentClassificationReason
- :keyword classification_comment: Describes the reason the incident was closed.
- :paramtype classification_comment: str
- :keyword owner: Describes a user that the incident is assigned to.
- :paramtype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
- :keyword labels: List of labels relevant to this incident.
- :paramtype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
- :keyword first_activity_time_utc: The time of the first activity in the incident.
- :paramtype first_activity_time_utc: ~datetime.datetime
- :keyword last_activity_time_utc: The time of the last activity in the incident.
- :paramtype last_activity_time_utc: ~datetime.datetime
- :keyword provider_name: The name of the source provider that generated the incident.
- :paramtype provider_name: str
- :keyword provider_incident_id: The incident ID assigned by the incident provider.
- :paramtype provider_incident_id: str
- :keyword team_information: Describes a team for the incident.
- :paramtype team_information: ~azure.mgmt.securityinsight.models.TeamInformation
+ :keyword filters: Individual Severity configuration settings for a given source subtype
+ consumed in Fusion detection.
+ :paramtype filters: list[~azure.mgmt.securityinsight.models.FusionSubTypeSeverityFiltersItem]
"""
- super().__init__(etag=etag, **kwargs)
- self.title = title
- self.description = description
- self.severity = severity
- self.status = status
- self.classification = classification
- self.classification_reason = classification_reason
- self.classification_comment = classification_comment
- self.owner = owner
- self.labels = labels
- self.first_activity_time_utc = first_activity_time_utc
- self.last_activity_time_utc = last_activity_time_utc
- self.last_modified_time_utc = None
- self.created_time_utc = None
- self.incident_number = None
- self.additional_data = None
- self.related_analytic_rule_ids = None
- self.incident_url = None
- self.provider_name = provider_name
- self.provider_incident_id = provider_incident_id
- self.team_information = team_information
+ super().__init__(**kwargs)
+ self.is_supported = None
+ self.filters = filters
-class IncidentAdditionalData(_serialization.Model):
- """Incident additional data property bag.
+class FusionSubTypeSeverityFiltersItem(_serialization.Model):
+ """Represents a Severity filter setting for a given source subtype consumed in Fusion detection.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar alerts_count: The number of alerts in the incident.
- :vartype alerts_count: int
- :ivar bookmarks_count: The number of bookmarks in the incident.
- :vartype bookmarks_count: int
- :ivar comments_count: The number of comments in the incident.
- :vartype comments_count: int
- :ivar alert_product_names: List of product names of alerts in the incident.
- :vartype alert_product_names: list[str]
- :ivar tactics: The tactics associated with incident.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques associated with incident's tactics.
- :vartype techniques: list[str]
- :ivar provider_incident_url: The provider incident url to the incident in Microsoft 365
- Defender portal.
- :vartype provider_incident_url: str
+ :ivar severity: The Severity for a given source subtype consumed in Fusion detection. Required.
+ Known values are: "High", "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar enabled: Determines whether this severity is enabled or disabled for this source subtype
+ consumed in Fusion detection. Required.
+ :vartype enabled: bool
"""
_validation = {
- "alerts_count": {"readonly": True},
- "bookmarks_count": {"readonly": True},
- "comments_count": {"readonly": True},
- "alert_product_names": {"readonly": True},
- "tactics": {"readonly": True},
- "techniques": {"readonly": True},
- "provider_incident_url": {"readonly": True},
+ "severity": {"required": True},
+ "enabled": {"required": True},
}
_attribute_map = {
- "alerts_count": {"key": "alertsCount", "type": "int"},
- "bookmarks_count": {"key": "bookmarksCount", "type": "int"},
- "comments_count": {"key": "commentsCount", "type": "int"},
- "alert_product_names": {"key": "alertProductNames", "type": "[str]"},
- "tactics": {"key": "tactics", "type": "[str]"},
- "techniques": {"key": "techniques", "type": "[str]"},
- "provider_incident_url": {"key": "providerIncidentUrl", "type": "str"},
+ "severity": {"key": "severity", "type": "str"},
+ "enabled": {"key": "enabled", "type": "bool"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, severity: Union[str, "_models.AlertSeverity"], enabled: bool, **kwargs: Any) -> None:
+ """
+ :keyword severity: The Severity for a given source subtype consumed in Fusion detection.
+ Required. Known values are: "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword enabled: Determines whether this severity is enabled or disabled for this source
+ subtype consumed in Fusion detection. Required.
+ :paramtype enabled: bool
+ """
super().__init__(**kwargs)
- self.alerts_count = None
- self.bookmarks_count = None
- self.comments_count = None
- self.alert_product_names = None
- self.tactics = None
- self.techniques = None
- self.provider_incident_url = None
+ self.severity = severity
+ self.enabled = enabled
-class IncidentAlertList(_serialization.Model):
- """List of incident alerts.
+class FusionTemplateSourceSetting(_serialization.Model):
+ """Represents a source signal consumed in Fusion detection.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar value: Array of incident alerts. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.SecurityAlert]
+ :ivar source_name: The name of a source signal consumed in Fusion detection. Required.
+ :vartype source_name: str
+ :ivar source_sub_types: All supported source subtypes under this source signal consumed in
+ fusion detection.
+ :vartype source_sub_types: list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSubType]
"""
_validation = {
- "value": {"required": True},
+ "source_name": {"required": True},
}
_attribute_map = {
- "value": {"key": "value", "type": "[SecurityAlert]"},
+ "source_name": {"key": "sourceName", "type": "str"},
+ "source_sub_types": {"key": "sourceSubTypes", "type": "[FusionTemplateSourceSubType]"},
}
- def __init__(self, *, value: List["_models.SecurityAlert"], **kwargs):
+ def __init__(
+ self,
+ *,
+ source_name: str,
+ source_sub_types: Optional[List["_models.FusionTemplateSourceSubType"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of incident alerts. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.SecurityAlert]
+ :keyword source_name: The name of a source signal consumed in Fusion detection. Required.
+ :paramtype source_name: str
+ :keyword source_sub_types: All supported source subtypes under this source signal consumed in
+ fusion detection.
+ :paramtype source_sub_types:
+ list[~azure.mgmt.securityinsight.models.FusionTemplateSourceSubType]
"""
super().__init__(**kwargs)
- self.value = value
+ self.source_name = source_name
+ self.source_sub_types = source_sub_types
-class IncidentBookmarkList(_serialization.Model):
- """List of incident bookmarks.
+class FusionTemplateSourceSubType(_serialization.Model):
+ """Represents a source subtype under a source signal consumed in Fusion detection.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar value: Array of incident bookmarks. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.HuntingBookmark]
- """
+ All required parameters must be populated in order to send to server.
- _validation = {
- "value": {"required": True},
- }
+ :ivar source_sub_type_name: The name of source subtype under a source signal consumed in Fusion
+ detection. Required.
+ :vartype source_sub_type_name: str
+ :ivar source_sub_type_display_name: The display name of source subtype under a source signal
+ consumed in Fusion detection.
+ :vartype source_sub_type_display_name: str
+ :ivar severity_filter: Severity configuration available for a source subtype consumed in fusion
+ detection. Required.
+ :vartype severity_filter:
+ ~azure.mgmt.securityinsight.models.FusionTemplateSubTypeSeverityFilter
+ """
+
+ _validation = {
+ "source_sub_type_name": {"required": True},
+ "source_sub_type_display_name": {"readonly": True},
+ "severity_filter": {"required": True},
+ }
_attribute_map = {
- "value": {"key": "value", "type": "[HuntingBookmark]"},
+ "source_sub_type_name": {"key": "sourceSubTypeName", "type": "str"},
+ "source_sub_type_display_name": {"key": "sourceSubTypeDisplayName", "type": "str"},
+ "severity_filter": {"key": "severityFilter", "type": "FusionTemplateSubTypeSeverityFilter"},
}
- def __init__(self, *, value: List["_models.HuntingBookmark"], **kwargs):
+ def __init__(
+ self,
+ *,
+ source_sub_type_name: str,
+ severity_filter: "_models.FusionTemplateSubTypeSeverityFilter",
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of incident bookmarks. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.HuntingBookmark]
+ :keyword source_sub_type_name: The name of source subtype under a source signal consumed in
+ Fusion detection. Required.
+ :paramtype source_sub_type_name: str
+ :keyword severity_filter: Severity configuration available for a source subtype consumed in
+ fusion detection. Required.
+ :paramtype severity_filter:
+ ~azure.mgmt.securityinsight.models.FusionTemplateSubTypeSeverityFilter
"""
super().__init__(**kwargs)
- self.value = value
+ self.source_sub_type_name = source_sub_type_name
+ self.source_sub_type_display_name = None
+ self.severity_filter = severity_filter
-class IncidentComment(ResourceWithEtag):
- """Represents an incident comment.
+class FusionTemplateSubTypeSeverityFilter(_serialization.Model):
+ """Represents severity configurations available for a source subtype consumed in Fusion detection.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar message: The comment message.
- :vartype message: str
- :ivar created_time_utc: The time the comment was created.
- :vartype created_time_utc: ~datetime.datetime
- :ivar last_modified_time_utc: The time the comment was updated.
- :vartype last_modified_time_utc: ~datetime.datetime
- :ivar author: Describes the client that created the comment.
- :vartype author: ~azure.mgmt.securityinsight.models.ClientInfo
+ :ivar is_supported: Determines whether severity configuration is supported for this source
+ subtype consumed in Fusion detection. Required.
+ :vartype is_supported: bool
+ :ivar severity_filters: List of all supported severities for this source subtype consumed in
+ Fusion detection.
+ :vartype severity_filters: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "created_time_utc": {"readonly": True},
- "last_modified_time_utc": {"readonly": True},
- "author": {"readonly": True},
+ "is_supported": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "message": {"key": "properties.message", "type": "str"},
- "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
- "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
- "author": {"key": "properties.author", "type": "ClientInfo"},
+ "is_supported": {"key": "isSupported", "type": "bool"},
+ "severity_filters": {"key": "severityFilters", "type": "[str]"},
}
- def __init__(self, *, etag: Optional[str] = None, message: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ is_supported: bool,
+ severity_filters: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword message: The comment message.
- :paramtype message: str
+ :keyword is_supported: Determines whether severity configuration is supported for this source
+ subtype consumed in Fusion detection. Required.
+ :paramtype is_supported: bool
+ :keyword severity_filters: List of all supported severities for this source subtype consumed in
+ Fusion detection.
+ :paramtype severity_filters: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
"""
- super().__init__(etag=etag, **kwargs)
- self.message = message
- self.created_time_utc = None
- self.last_modified_time_utc = None
- self.author = None
-
+ super().__init__(**kwargs)
+ self.is_supported = is_supported
+ self.severity_filters = severity_filters
-class IncidentCommentList(_serialization.Model):
- """IncidentCommentList.
- Variables are only populated by the server, and will be ignored when sending a request.
+class GCPAuthModel(CcpAuthConfig):
+ """Model for API authentication for all GCP kind connectors.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar value: Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.IncidentComment]
- :ivar next_link:
- :vartype next_link: str
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar service_account_email: GCP Service Account Email. Required.
+ :vartype service_account_email: str
+ :ivar project_number: GCP Project Number. Required.
+ :vartype project_number: str
+ :ivar workload_identity_provider_id: GCP Workload Identity Provider ID. Required.
+ :vartype workload_identity_provider_id: str
"""
_validation = {
- "value": {"required": True},
- "next_link": {"readonly": True},
+ "type": {"required": True},
+ "service_account_email": {"required": True},
+ "project_number": {"required": True},
+ "workload_identity_provider_id": {"required": True},
}
_attribute_map = {
- "value": {"key": "value", "type": "[IncidentComment]"},
- "next_link": {"key": "nextLink", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "service_account_email": {"key": "serviceAccountEmail", "type": "str"},
+ "project_number": {"key": "projectNumber", "type": "str"},
+ "workload_identity_provider_id": {"key": "workloadIdentityProviderId", "type": "str"},
}
- def __init__(self, *, value: List["_models.IncidentComment"], **kwargs):
+ def __init__(
+ self, *, service_account_email: str, project_number: str, workload_identity_provider_id: str, **kwargs: Any
+ ) -> None:
"""
- :keyword value: Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.IncidentComment]
+ :keyword service_account_email: GCP Service Account Email. Required.
+ :paramtype service_account_email: str
+ :keyword project_number: GCP Project Number. Required.
+ :paramtype project_number: str
+ :keyword workload_identity_provider_id: GCP Workload Identity Provider ID. Required.
+ :paramtype workload_identity_provider_id: str
"""
super().__init__(**kwargs)
- self.value = value
- self.next_link = None
+ self.type: str = "GCP"
+ self.service_account_email = service_account_email
+ self.project_number = project_number
+ self.workload_identity_provider_id = workload_identity_provider_id
-class IncidentConfiguration(_serialization.Model):
- """Incident Configuration property bag.
+class GCPAuthProperties(_serialization.Model):
+ """Google Cloud Platform auth section properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar create_incident: Create incidents from alerts triggered by this analytics rule. Required.
- :vartype create_incident: bool
- :ivar grouping_configuration: Set how the alerts that are triggered by this analytics rule, are
- grouped into incidents.
- :vartype grouping_configuration: ~azure.mgmt.securityinsight.models.GroupingConfiguration
+ :ivar service_account_email: The service account that is used to access the GCP project.
+ Required.
+ :vartype service_account_email: str
+ :ivar project_number: The GCP project number. Required.
+ :vartype project_number: str
+ :ivar workload_identity_provider_id: The workload identity provider id that is used to gain
+ access to the GCP project. Required.
+ :vartype workload_identity_provider_id: str
"""
_validation = {
- "create_incident": {"required": True},
+ "service_account_email": {"required": True},
+ "project_number": {"required": True},
+ "workload_identity_provider_id": {"required": True},
}
_attribute_map = {
- "create_incident": {"key": "createIncident", "type": "bool"},
- "grouping_configuration": {"key": "groupingConfiguration", "type": "GroupingConfiguration"},
+ "service_account_email": {"key": "serviceAccountEmail", "type": "str"},
+ "project_number": {"key": "projectNumber", "type": "str"},
+ "workload_identity_provider_id": {"key": "workloadIdentityProviderId", "type": "str"},
}
def __init__(
- self,
- *,
- create_incident: bool,
- grouping_configuration: Optional["_models.GroupingConfiguration"] = None,
- **kwargs
- ):
+ self, *, service_account_email: str, project_number: str, workload_identity_provider_id: str, **kwargs: Any
+ ) -> None:
"""
- :keyword create_incident: Create incidents from alerts triggered by this analytics rule.
+ :keyword service_account_email: The service account that is used to access the GCP project.
Required.
- :paramtype create_incident: bool
- :keyword grouping_configuration: Set how the alerts that are triggered by this analytics rule,
- are grouped into incidents.
- :paramtype grouping_configuration: ~azure.mgmt.securityinsight.models.GroupingConfiguration
+ :paramtype service_account_email: str
+ :keyword project_number: The GCP project number. Required.
+ :paramtype project_number: str
+ :keyword workload_identity_provider_id: The workload identity provider id that is used to gain
+ access to the GCP project. Required.
+ :paramtype workload_identity_provider_id: str
"""
super().__init__(**kwargs)
- self.create_incident = create_incident
- self.grouping_configuration = grouping_configuration
+ self.service_account_email = service_account_email
+ self.project_number = project_number
+ self.workload_identity_provider_id = workload_identity_provider_id
-class IncidentEntitiesResponse(_serialization.Model):
- """The incident related entities response.
+class GCPDataConnector(DataConnector):
+ """Represents Google Cloud Platform data connector.
- :ivar entities: Array of the incident related entities.
- :vartype entities: list[~azure.mgmt.securityinsight.models.Entity]
- :ivar meta_data: The metadata from the incident related entities results.
- :vartype meta_data: list[~azure.mgmt.securityinsight.models.IncidentEntitiesResultsMetadata]
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar connector_definition_name: The name of the connector definition that represents the UI
+ config.
+ :vartype connector_definition_name: str
+ :ivar auth: The auth section of the connector.
+ :vartype auth: ~azure.mgmt.securityinsight.models.GCPAuthProperties
+ :ivar request: The request section of the connector.
+ :vartype request: ~azure.mgmt.securityinsight.models.GCPRequestProperties
+ :ivar dcr_config: The configuration of the destination of the data.
+ :vartype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
_attribute_map = {
- "entities": {"key": "entities", "type": "[Entity]"},
- "meta_data": {"key": "metaData", "type": "[IncidentEntitiesResultsMetadata]"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "connector_definition_name": {"key": "properties.connectorDefinitionName", "type": "str"},
+ "auth": {"key": "properties.auth", "type": "GCPAuthProperties"},
+ "request": {"key": "properties.request", "type": "GCPRequestProperties"},
+ "dcr_config": {"key": "properties.dcrConfig", "type": "DCRConfiguration"},
}
def __init__(
self,
*,
- entities: Optional[List["_models.Entity"]] = None,
- meta_data: Optional[List["_models.IncidentEntitiesResultsMetadata"]] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ connector_definition_name: Optional[str] = None,
+ auth: Optional["_models.GCPAuthProperties"] = None,
+ request: Optional["_models.GCPRequestProperties"] = None,
+ dcr_config: Optional["_models.DCRConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword entities: Array of the incident related entities.
- :paramtype entities: list[~azure.mgmt.securityinsight.models.Entity]
- :keyword meta_data: The metadata from the incident related entities results.
- :paramtype meta_data: list[~azure.mgmt.securityinsight.models.IncidentEntitiesResultsMetadata]
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword connector_definition_name: The name of the connector definition that represents the UI
+ config.
+ :paramtype connector_definition_name: str
+ :keyword auth: The auth section of the connector.
+ :paramtype auth: ~azure.mgmt.securityinsight.models.GCPAuthProperties
+ :keyword request: The request section of the connector.
+ :paramtype request: ~azure.mgmt.securityinsight.models.GCPRequestProperties
+ :keyword dcr_config: The configuration of the destination of the data.
+ :paramtype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
"""
- super().__init__(**kwargs)
- self.entities = entities
- self.meta_data = meta_data
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "GCP"
+ self.connector_definition_name = connector_definition_name
+ self.auth = auth
+ self.request = request
+ self.dcr_config = dcr_config
-class IncidentEntitiesResultsMetadata(_serialization.Model):
- """Information of a specific aggregation in the incident related entities result.
+class GCPRequestProperties(_serialization.Model):
+ """Google Cloud Platform request section properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
- "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
- "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
- "Nic".
- :vartype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar count: Total number of aggregations of the given kind in the incident related entities
- result. Required.
- :vartype count: int
+ :ivar project_id: The GCP project id. Required.
+ :vartype project_id: str
+ :ivar subscription_names: The GCP pub/sub subscription names. Required.
+ :vartype subscription_names: list[str]
"""
_validation = {
- "entity_kind": {"required": True},
- "count": {"required": True},
+ "project_id": {"required": True},
+ "subscription_names": {"required": True},
}
_attribute_map = {
- "entity_kind": {"key": "entityKind", "type": "str"},
- "count": {"key": "count", "type": "int"},
+ "project_id": {"key": "projectId", "type": "str"},
+ "subscription_names": {"key": "subscriptionNames", "type": "[str]"},
}
- def __init__(self, *, entity_kind: Union[str, "_models.EntityKind"], count: int, **kwargs):
+ def __init__(self, *, project_id: str, subscription_names: List[str], **kwargs: Any) -> None:
"""
- :keyword entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
- "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
- "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
- "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
- "Nic".
- :paramtype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :keyword count: Total number of aggregations of the given kind in the incident related entities
- result. Required.
- :paramtype count: int
+ :keyword project_id: The GCP project id. Required.
+ :paramtype project_id: str
+ :keyword subscription_names: The GCP pub/sub subscription names. Required.
+ :paramtype subscription_names: list[str]
"""
super().__init__(**kwargs)
- self.entity_kind = entity_kind
- self.count = count
+ self.project_id = project_id
+ self.subscription_names = subscription_names
-class IncidentInfo(_serialization.Model):
- """Describes related incident information for the bookmark.
+class GenericBlobSbsAuthModel(CcpAuthConfig):
+ """Model for API authentication for working with service bus or storage account.
- :ivar incident_id: Incident Id.
- :vartype incident_id: str
- :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :ivar title: The title of the incident.
- :vartype title: str
- :ivar relation_name: Relation Name.
- :vartype relation_name: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar credentials_config: Credentials for service bus namespace, keyvault uri for access key.
+ :vartype credentials_config: dict[str, str]
+ :ivar storage_account_credentials_config: Credentials for storage account, keyvault uri for
+ access key.
+ :vartype storage_account_credentials_config: dict[str, str]
"""
+ _validation = {
+ "type": {"required": True},
+ }
+
_attribute_map = {
- "incident_id": {"key": "incidentId", "type": "str"},
- "severity": {"key": "severity", "type": "str"},
- "title": {"key": "title", "type": "str"},
- "relation_name": {"key": "relationName", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "credentials_config": {"key": "credentialsConfig", "type": "{str}"},
+ "storage_account_credentials_config": {"key": "storageAccountCredentialsConfig", "type": "{str}"},
}
def __init__(
self,
*,
- incident_id: Optional[str] = None,
- severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
- title: Optional[str] = None,
- relation_name: Optional[str] = None,
- **kwargs
- ):
+ credentials_config: Optional[Dict[str, str]] = None,
+ storage_account_credentials_config: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword incident_id: Incident Id.
- :paramtype incident_id: str
- :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :keyword title: The title of the incident.
- :paramtype title: str
- :keyword relation_name: Relation Name.
- :paramtype relation_name: str
+ :keyword credentials_config: Credentials for service bus namespace, keyvault uri for access
+ key.
+ :paramtype credentials_config: dict[str, str]
+ :keyword storage_account_credentials_config: Credentials for storage account, keyvault uri for
+ access key.
+ :paramtype storage_account_credentials_config: dict[str, str]
"""
super().__init__(**kwargs)
- self.incident_id = incident_id
- self.severity = severity
- self.title = title
- self.relation_name = relation_name
+ self.type: str = "ServiceBus"
+ self.credentials_config = credentials_config
+ self.storage_account_credentials_config = storage_account_credentials_config
-class IncidentLabel(_serialization.Model):
- """Represents an incident label.
+class GeoLocation(_serialization.Model):
+ """The geo-location context attached to the ip entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar label_name: The name of the label. Required.
- :vartype label_name: str
- :ivar label_type: The type of the label. Known values are: "User" and "AutoAssigned".
- :vartype label_type: str or ~azure.mgmt.securityinsight.models.IncidentLabelType
+ :ivar asn: Autonomous System Number.
+ :vartype asn: int
+ :ivar city: City name.
+ :vartype city: str
+ :ivar country_code: The country code according to ISO 3166 format.
+ :vartype country_code: str
+ :ivar country_name: Country name according to ISO 3166 Alpha 2: the lowercase of the English
+ Short Name.
+ :vartype country_name: str
+ :ivar latitude: The latitude of the identified location, expressed as a floating point number
+ with range of - 90 to 90. Latitude and longitude are derived from the city or postal code.
+ :vartype latitude: float
+ :ivar longitude: The longitude of the identified location, expressed as a floating point number
+ with range of -180 to 180. Latitude and longitude are derived from the city or postal code.
+ :vartype longitude: float
+ :ivar state: State name.
+ :vartype state: str
"""
_validation = {
- "label_name": {"required": True},
- "label_type": {"readonly": True},
+ "asn": {"readonly": True},
+ "city": {"readonly": True},
+ "country_code": {"readonly": True},
+ "country_name": {"readonly": True},
+ "latitude": {"readonly": True},
+ "longitude": {"readonly": True},
+ "state": {"readonly": True},
}
_attribute_map = {
- "label_name": {"key": "labelName", "type": "str"},
- "label_type": {"key": "labelType", "type": "str"},
+ "asn": {"key": "asn", "type": "int"},
+ "city": {"key": "city", "type": "str"},
+ "country_code": {"key": "countryCode", "type": "str"},
+ "country_name": {"key": "countryName", "type": "str"},
+ "latitude": {"key": "latitude", "type": "float"},
+ "longitude": {"key": "longitude", "type": "float"},
+ "state": {"key": "state", "type": "str"},
}
- def __init__(self, *, label_name: str, **kwargs):
- """
- :keyword label_name: The name of the label. Required.
- :paramtype label_name: str
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.label_name = label_name
- self.label_type = None
-
+ self.asn = None
+ self.city = None
+ self.country_code = None
+ self.country_name = None
+ self.latitude = None
+ self.longitude = None
+ self.state = None
-class IncidentList(_serialization.Model):
- """List all the incidents.
- Variables are only populated by the server, and will be ignored when sending a request.
+class GetInsightsErrorKind(_serialization.Model):
+ """GetInsights Query Errors.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar value: Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Incident]
- :ivar next_link: URL to fetch the next set of incidents.
- :vartype next_link: str
+ :ivar kind: the query kind. Required. "Insight"
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.GetInsightsError
+ :ivar query_id: the query id.
+ :vartype query_id: str
+ :ivar error_message: the error message. Required.
+ :vartype error_message: str
"""
_validation = {
- "value": {"required": True},
- "next_link": {"readonly": True},
+ "kind": {"required": True},
+ "error_message": {"required": True},
}
_attribute_map = {
- "value": {"key": "value", "type": "[Incident]"},
- "next_link": {"key": "nextLink", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "query_id": {"key": "queryId", "type": "str"},
+ "error_message": {"key": "errorMessage", "type": "str"},
}
- def __init__(self, *, value: List["_models.Incident"], **kwargs):
+ def __init__(
+ self,
+ *,
+ kind: Union[str, "_models.GetInsightsError"],
+ error_message: str,
+ query_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Incident]
+ :keyword kind: the query kind. Required. "Insight"
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.GetInsightsError
+ :keyword query_id: the query id.
+ :paramtype query_id: str
+ :keyword error_message: the error message. Required.
+ :paramtype error_message: str
"""
super().__init__(**kwargs)
- self.value = value
- self.next_link = None
+ self.kind = kind
+ self.query_id = query_id
+ self.error_message = error_message
-class IncidentOwnerInfo(_serialization.Model):
- """Information on the user an incident is assigned to.
+class GetInsightsResultsMetadata(_serialization.Model):
+ """Get Insights result metadata.
- :ivar email: The email of the user the incident is assigned to.
- :vartype email: str
- :ivar assigned_to: The name of the user the incident is assigned to.
- :vartype assigned_to: str
- :ivar object_id: The object id of the user the incident is assigned to.
- :vartype object_id: str
- :ivar user_principal_name: The user principal name of the user the incident is assigned to.
- :vartype user_principal_name: str
- :ivar owner_type: The type of the owner the incident is assigned to. Known values are:
- "Unknown", "User", and "Group".
- :vartype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ All required parameters must be populated in order to send to server.
+
+ :ivar total_count: the total items found for the insights request. Required.
+ :vartype total_count: int
+ :ivar errors: information about the failed queries.
+ :vartype errors: list[~azure.mgmt.securityinsight.models.GetInsightsErrorKind]
"""
+ _validation = {
+ "total_count": {"required": True},
+ }
+
_attribute_map = {
- "email": {"key": "email", "type": "str"},
- "assigned_to": {"key": "assignedTo", "type": "str"},
- "object_id": {"key": "objectId", "type": "str"},
- "user_principal_name": {"key": "userPrincipalName", "type": "str"},
- "owner_type": {"key": "ownerType", "type": "str"},
+ "total_count": {"key": "totalCount", "type": "int"},
+ "errors": {"key": "errors", "type": "[GetInsightsErrorKind]"},
}
def __init__(
- self,
- *,
- email: Optional[str] = None,
- assigned_to: Optional[str] = None,
- object_id: Optional[str] = None,
- user_principal_name: Optional[str] = None,
- owner_type: Optional[Union[str, "_models.OwnerType"]] = None,
- **kwargs
- ):
+ self, *, total_count: int, errors: Optional[List["_models.GetInsightsErrorKind"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword email: The email of the user the incident is assigned to.
- :paramtype email: str
- :keyword assigned_to: The name of the user the incident is assigned to.
- :paramtype assigned_to: str
- :keyword object_id: The object id of the user the incident is assigned to.
- :paramtype object_id: str
- :keyword user_principal_name: The user principal name of the user the incident is assigned to.
- :paramtype user_principal_name: str
- :keyword owner_type: The type of the owner the incident is assigned to. Known values are:
- "Unknown", "User", and "Group".
- :paramtype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ :keyword total_count: the total items found for the insights request. Required.
+ :paramtype total_count: int
+ :keyword errors: information about the failed queries.
+ :paramtype errors: list[~azure.mgmt.securityinsight.models.GetInsightsErrorKind]
"""
super().__init__(**kwargs)
- self.email = email
- self.assigned_to = assigned_to
- self.object_id = object_id
- self.user_principal_name = user_principal_name
- self.owner_type = owner_type
+ self.total_count = total_count
+ self.errors = errors
-class IncidentPropertiesAction(_serialization.Model):
- """IncidentPropertiesAction.
+class GetQueriesResponse(_serialization.Model):
+ """Retrieve queries for entity result operation response.
- :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :ivar status: The status of the incident. Known values are: "New", "Active", and "Closed".
- :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
- :ivar classification: The reason the incident was closed. Known values are: "Undetermined",
- "TruePositive", "BenignPositive", and "FalsePositive".
- :vartype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
- :ivar classification_reason: The classification reason the incident was closed with. Known
- values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
- "InaccurateData".
- :vartype classification_reason: str or
- ~azure.mgmt.securityinsight.models.IncidentClassificationReason
- :ivar classification_comment: Describes the reason the incident was closed.
- :vartype classification_comment: str
- :ivar owner: Information on the user an incident is assigned to.
- :vartype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
- :ivar labels: List of labels to add to the incident.
- :vartype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ :ivar value: The query result values.
+ :vartype value: list[~azure.mgmt.securityinsight.models.EntityQueryItem]
"""
_attribute_map = {
- "severity": {"key": "severity", "type": "str"},
- "status": {"key": "status", "type": "str"},
- "classification": {"key": "classification", "type": "str"},
- "classification_reason": {"key": "classificationReason", "type": "str"},
- "classification_comment": {"key": "classificationComment", "type": "str"},
- "owner": {"key": "owner", "type": "IncidentOwnerInfo"},
- "labels": {"key": "labels", "type": "[IncidentLabel]"},
+ "value": {"key": "value", "type": "[EntityQueryItem]"},
}
- def __init__(
- self,
- *,
- severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
- status: Optional[Union[str, "_models.IncidentStatus"]] = None,
- classification: Optional[Union[str, "_models.IncidentClassification"]] = None,
- classification_reason: Optional[Union[str, "_models.IncidentClassificationReason"]] = None,
- classification_comment: Optional[str] = None,
- owner: Optional["_models.IncidentOwnerInfo"] = None,
- labels: Optional[List["_models.IncidentLabel"]] = None,
- **kwargs
- ):
+ def __init__(self, *, value: Optional[List["_models.EntityQueryItem"]] = None, **kwargs: Any) -> None:
"""
- :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
- "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
- :keyword status: The status of the incident. Known values are: "New", "Active", and "Closed".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
- :keyword classification: The reason the incident was closed. Known values are: "Undetermined",
- "TruePositive", "BenignPositive", and "FalsePositive".
- :paramtype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
- :keyword classification_reason: The classification reason the incident was closed with. Known
- values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
- "InaccurateData".
- :paramtype classification_reason: str or
- ~azure.mgmt.securityinsight.models.IncidentClassificationReason
- :keyword classification_comment: Describes the reason the incident was closed.
- :paramtype classification_comment: str
- :keyword owner: Information on the user an incident is assigned to.
- :paramtype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
- :keyword labels: List of labels to add to the incident.
- :paramtype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ :keyword value: The query result values.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.EntityQueryItem]
"""
super().__init__(**kwargs)
- self.severity = severity
- self.status = status
- self.classification = classification
- self.classification_reason = classification_reason
- self.classification_comment = classification_comment
- self.owner = owner
- self.labels = labels
+ self.value = value
-class IncidentTask(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """IncidentTask.
+class GitHubAuthModel(CcpAuthConfig):
+ """Model for API authentication for GitHub. For this authentication first we need to approve the
+ Router app (Microsoft Security DevOps) to access the GitHub account, Then we only need the
+ InstallationId to get the access token from
+ https://api.github.com/app/installations/{installId}/access_tokens.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar title: The title of the task. Required.
- :vartype title: str
- :ivar description: The description of the task.
- :vartype description: str
- :ivar status: Required. Known values are: "New" and "Completed".
- :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentTaskStatus
- :ivar created_time_utc: The time the task was created.
- :vartype created_time_utc: ~datetime.datetime
- :ivar last_modified_time_utc: The last time the task was updated.
- :vartype last_modified_time_utc: ~datetime.datetime
- :ivar created_by: Information on the client (user or application) that made some action.
- :vartype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
- :ivar last_modified_by: Information on the client (user or application) that made some action.
- :vartype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
- """
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar installation_id: The GitHubApp auth installation id.
+ :vartype installation_id: str
+ """
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "title": {"required": True},
- "status": {"required": True},
- "created_time_utc": {"readonly": True},
- "last_modified_time_utc": {"readonly": True},
+ "type": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "title": {"key": "properties.title", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "status": {"key": "properties.status", "type": "str"},
- "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
- "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
- "created_by": {"key": "properties.createdBy", "type": "ClientInfo"},
- "last_modified_by": {"key": "properties.lastModifiedBy", "type": "ClientInfo"},
+ "installation_id": {"key": "installationId", "type": "str"},
}
- def __init__(
- self,
- *,
- title: str,
- status: Union[str, "_models.IncidentTaskStatus"],
- etag: Optional[str] = None,
- description: Optional[str] = None,
- created_by: Optional["_models.ClientInfo"] = None,
- last_modified_by: Optional["_models.ClientInfo"] = None,
- **kwargs
- ):
+ def __init__(self, *, installation_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword title: The title of the task. Required.
- :paramtype title: str
- :keyword description: The description of the task.
- :paramtype description: str
- :keyword status: Required. Known values are: "New" and "Completed".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentTaskStatus
- :keyword created_by: Information on the client (user or application) that made some action.
- :paramtype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
- :keyword last_modified_by: Information on the client (user or application) that made some
- action.
- :paramtype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ :keyword installation_id: The GitHubApp auth installation id.
+ :paramtype installation_id: str
"""
- super().__init__(etag=etag, **kwargs)
- self.title = title
- self.description = description
- self.status = status
- self.created_time_utc = None
- self.last_modified_time_utc = None
- self.created_by = created_by
- self.last_modified_by = last_modified_by
+ super().__init__(**kwargs)
+ self.type: str = "GitHub"
+ self.installation_id = installation_id
-class IncidentTaskList(_serialization.Model):
- """IncidentTaskList.
+class GitHubResourceInfo(_serialization.Model):
+ """Resources created in GitHub repository.
- :ivar value:
- :vartype value: list[~azure.mgmt.securityinsight.models.IncidentTask]
- :ivar next_link:
- :vartype next_link: str
+ :ivar app_installation_id: GitHub application installation id.
+ :vartype app_installation_id: str
"""
_attribute_map = {
- "value": {"key": "value", "type": "[IncidentTask]"},
- "next_link": {"key": "nextLink", "type": "str"},
+ "app_installation_id": {"key": "appInstallationId", "type": "str"},
}
- def __init__(
- self, *, value: Optional[List["_models.IncidentTask"]] = None, next_link: Optional[str] = None, **kwargs
- ):
+ def __init__(self, *, app_installation_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword value:
- :paramtype value: list[~azure.mgmt.securityinsight.models.IncidentTask]
- :keyword next_link:
- :paramtype next_link: str
+ :keyword app_installation_id: GitHub application installation id.
+ :paramtype app_installation_id: str
"""
super().__init__(**kwargs)
- self.value = value
- self.next_link = next_link
-
+ self.app_installation_id = app_installation_id
-class InsightQueryItem(EntityQueryItem):
- """Represents Insight Query.
- Variables are only populated by the server, and will be ignored when sending a request.
+class GraphQuery(_serialization.Model):
+ """The graph query to show the volume of data arriving into the workspace over time.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Query Template ARM ID.
- :vartype id: str
- :ivar name: Query Template ARM Name.
- :vartype name: str
- :ivar type: ARM Type.
- :vartype type: str
- :ivar kind: The kind of the entity query. Required. Known values are: "Expansion", "Insight",
- and "Activity".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
- :ivar properties: Properties bag for InsightQueryItem.
- :vartype properties: ~azure.mgmt.securityinsight.models.InsightQueryItemProperties
+ :ivar metric_name: Gets or sets the metric name that the query is checking. For example: 'Total
+ data receive'. Required.
+ :vartype metric_name: str
+ :ivar legend: Gets or sets the legend for the graph. Required.
+ :vartype legend: str
+ :ivar base_query: Gets or sets the base query for the graph.
+ The base query is wrapped by Sentinel UI infra with a KQL query, that measures the volume over
+ time. Required.
+ :vartype base_query: str
"""
_validation = {
- "id": {"readonly": True},
- "kind": {"required": True},
+ "metric_name": {"required": True},
+ "legend": {"required": True},
+ "base_query": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "properties": {"key": "properties", "type": "InsightQueryItemProperties"},
+ "metric_name": {"key": "metricName", "type": "str"},
+ "legend": {"key": "legend", "type": "str"},
+ "base_query": {"key": "baseQuery", "type": "str"},
}
- def __init__(
- self,
- *,
- name: Optional[str] = None,
- type: Optional[str] = None,
- properties: Optional["_models.InsightQueryItemProperties"] = None,
- **kwargs
- ):
+ def __init__(self, *, metric_name: str, legend: str, base_query: str, **kwargs: Any) -> None:
"""
- :keyword name: Query Template ARM Name.
- :paramtype name: str
- :keyword type: ARM Type.
- :paramtype type: str
- :keyword properties: Properties bag for InsightQueryItem.
- :paramtype properties: ~azure.mgmt.securityinsight.models.InsightQueryItemProperties
+ :keyword metric_name: Gets or sets the metric name that the query is checking. For example:
+ 'Total data receive'. Required.
+ :paramtype metric_name: str
+ :keyword legend: Gets or sets the legend for the graph. Required.
+ :paramtype legend: str
+ :keyword base_query: Gets or sets the base query for the graph.
+ The base query is wrapped by Sentinel UI infra with a KQL query, that measures the volume over
+ time. Required.
+ :paramtype base_query: str
"""
- super().__init__(name=name, type=type, **kwargs)
- self.kind: str = "Insight"
- self.properties = properties
+ super().__init__(**kwargs)
+ self.metric_name = metric_name
+ self.legend = legend
+ self.base_query = base_query
-class InsightQueryItemProperties(EntityQueryItemProperties): # pylint: disable=too-many-instance-attributes
- """Represents Insight Query.
+class GroupingConfiguration(_serialization.Model):
+ """Grouping configuration property bag.
- :ivar data_types: Data types for template.
- :vartype data_types:
- list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
- :ivar input_entity_type: The type of the entity. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
- "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :ivar required_input_fields_sets: Data types for template.
- :vartype required_input_fields_sets: list[list[str]]
- :ivar entities_filter: The query applied only to entities matching to all filters.
- :vartype entities_filter: JSON
- :ivar display_name: The insight display name.
- :vartype display_name: str
- :ivar description: The insight description.
- :vartype description: str
- :ivar base_query: The base query of the insight.
- :vartype base_query: str
- :ivar table_query: The insight table query.
- :vartype table_query: ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQuery
- :ivar chart_query: The insight chart query.
- :vartype chart_query: JSON
- :ivar additional_query: The activity query definitions.
- :vartype additional_query:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesAdditionalQuery
- :ivar default_time_range: The insight chart query.
- :vartype default_time_range:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesDefaultTimeRange
- :ivar reference_time_range: The insight chart query.
- :vartype reference_time_range:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesReferenceTimeRange
+ All required parameters must be populated in order to send to server.
+
+ :ivar enabled: Grouping enabled. Required.
+ :vartype enabled: bool
+ :ivar reopen_closed_incident: Re-open closed matching incidents. Required.
+ :vartype reopen_closed_incident: bool
+ :ivar lookback_duration: Limit the group to alerts created within the lookback duration (in ISO
+ 8601 duration format). Required.
+ :vartype lookback_duration: ~datetime.timedelta
+ :ivar matching_method: Grouping matching method. When method is Selected at least one of
+ groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.
+ Required. Known values are: "AllEntities", "AnyAlert", and "Selected".
+ :vartype matching_method: str or ~azure.mgmt.securityinsight.models.MatchingMethod
+ :ivar group_by_entities: A list of entity types to group by (when matchingMethod is Selected).
+ Only entities defined in the current alert rule may be used.
+ :vartype group_by_entities: list[str or ~azure.mgmt.securityinsight.models.EntityMappingType]
+ :ivar group_by_alert_details: A list of alert details to group by (when matchingMethod is
+ Selected).
+ :vartype group_by_alert_details: list[str or ~azure.mgmt.securityinsight.models.AlertDetail]
+ :ivar group_by_custom_details: A list of custom details keys to group by (when matchingMethod
+ is Selected). Only keys defined in the current alert rule may be used.
+ :vartype group_by_custom_details: list[str]
"""
+ _validation = {
+ "enabled": {"required": True},
+ "reopen_closed_incident": {"required": True},
+ "lookback_duration": {"required": True},
+ "matching_method": {"required": True},
+ }
+
_attribute_map = {
- "data_types": {"key": "dataTypes", "type": "[EntityQueryItemPropertiesDataTypesItem]"},
- "input_entity_type": {"key": "inputEntityType", "type": "str"},
- "required_input_fields_sets": {"key": "requiredInputFieldsSets", "type": "[[str]]"},
- "entities_filter": {"key": "entitiesFilter", "type": "object"},
- "display_name": {"key": "displayName", "type": "str"},
- "description": {"key": "description", "type": "str"},
- "base_query": {"key": "baseQuery", "type": "str"},
- "table_query": {"key": "tableQuery", "type": "InsightQueryItemPropertiesTableQuery"},
- "chart_query": {"key": "chartQuery", "type": "object"},
- "additional_query": {"key": "additionalQuery", "type": "InsightQueryItemPropertiesAdditionalQuery"},
- "default_time_range": {"key": "defaultTimeRange", "type": "InsightQueryItemPropertiesDefaultTimeRange"},
- "reference_time_range": {"key": "referenceTimeRange", "type": "InsightQueryItemPropertiesReferenceTimeRange"},
+ "enabled": {"key": "enabled", "type": "bool"},
+ "reopen_closed_incident": {"key": "reopenClosedIncident", "type": "bool"},
+ "lookback_duration": {"key": "lookbackDuration", "type": "duration"},
+ "matching_method": {"key": "matchingMethod", "type": "str"},
+ "group_by_entities": {"key": "groupByEntities", "type": "[str]"},
+ "group_by_alert_details": {"key": "groupByAlertDetails", "type": "[str]"},
+ "group_by_custom_details": {"key": "groupByCustomDetails", "type": "[str]"},
}
def __init__(
self,
*,
- data_types: Optional[List["_models.EntityQueryItemPropertiesDataTypesItem"]] = None,
- input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
- required_input_fields_sets: Optional[List[List[str]]] = None,
- entities_filter: Optional[JSON] = None,
- display_name: Optional[str] = None,
- description: Optional[str] = None,
- base_query: Optional[str] = None,
- table_query: Optional["_models.InsightQueryItemPropertiesTableQuery"] = None,
- chart_query: Optional[JSON] = None,
- additional_query: Optional["_models.InsightQueryItemPropertiesAdditionalQuery"] = None,
- default_time_range: Optional["_models.InsightQueryItemPropertiesDefaultTimeRange"] = None,
- reference_time_range: Optional["_models.InsightQueryItemPropertiesReferenceTimeRange"] = None,
- **kwargs
- ):
+ enabled: bool,
+ reopen_closed_incident: bool,
+ lookback_duration: datetime.timedelta,
+ matching_method: Union[str, "_models.MatchingMethod"],
+ group_by_entities: Optional[List[Union[str, "_models.EntityMappingType"]]] = None,
+ group_by_alert_details: Optional[List[Union[str, "_models.AlertDetail"]]] = None,
+ group_by_custom_details: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword data_types: Data types for template.
- :paramtype data_types:
- list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
- :keyword input_entity_type: The type of the entity. Known values are: "Account", "Host",
- "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
- "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
- :keyword required_input_fields_sets: Data types for template.
- :paramtype required_input_fields_sets: list[list[str]]
- :keyword entities_filter: The query applied only to entities matching to all filters.
- :paramtype entities_filter: JSON
- :keyword display_name: The insight display name.
- :paramtype display_name: str
- :keyword description: The insight description.
- :paramtype description: str
- :keyword base_query: The base query of the insight.
- :paramtype base_query: str
- :keyword table_query: The insight table query.
- :paramtype table_query: ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQuery
- :keyword chart_query: The insight chart query.
- :paramtype chart_query: JSON
- :keyword additional_query: The activity query definitions.
- :paramtype additional_query:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesAdditionalQuery
- :keyword default_time_range: The insight chart query.
- :paramtype default_time_range:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesDefaultTimeRange
- :keyword reference_time_range: The insight chart query.
- :paramtype reference_time_range:
- ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesReferenceTimeRange
+ :keyword enabled: Grouping enabled. Required.
+ :paramtype enabled: bool
+ :keyword reopen_closed_incident: Re-open closed matching incidents. Required.
+ :paramtype reopen_closed_incident: bool
+ :keyword lookback_duration: Limit the group to alerts created within the lookback duration (in
+ ISO 8601 duration format). Required.
+ :paramtype lookback_duration: ~datetime.timedelta
+ :keyword matching_method: Grouping matching method. When method is Selected at least one of
+ groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.
+ Required. Known values are: "AllEntities", "AnyAlert", and "Selected".
+ :paramtype matching_method: str or ~azure.mgmt.securityinsight.models.MatchingMethod
+ :keyword group_by_entities: A list of entity types to group by (when matchingMethod is
+ Selected). Only entities defined in the current alert rule may be used.
+ :paramtype group_by_entities: list[str or ~azure.mgmt.securityinsight.models.EntityMappingType]
+ :keyword group_by_alert_details: A list of alert details to group by (when matchingMethod is
+ Selected).
+ :paramtype group_by_alert_details: list[str or ~azure.mgmt.securityinsight.models.AlertDetail]
+ :keyword group_by_custom_details: A list of custom details keys to group by (when
+ matchingMethod is Selected). Only keys defined in the current alert rule may be used.
+ :paramtype group_by_custom_details: list[str]
"""
- super().__init__(
- data_types=data_types,
- input_entity_type=input_entity_type,
- required_input_fields_sets=required_input_fields_sets,
- entities_filter=entities_filter,
- **kwargs
- )
- self.display_name = display_name
- self.description = description
- self.base_query = base_query
- self.table_query = table_query
- self.chart_query = chart_query
- self.additional_query = additional_query
- self.default_time_range = default_time_range
- self.reference_time_range = reference_time_range
+ super().__init__(**kwargs)
+ self.enabled = enabled
+ self.reopen_closed_incident = reopen_closed_incident
+ self.lookback_duration = lookback_duration
+ self.matching_method = matching_method
+ self.group_by_entities = group_by_entities
+ self.group_by_alert_details = group_by_alert_details
+ self.group_by_custom_details = group_by_custom_details
-class InsightQueryItemPropertiesAdditionalQuery(_serialization.Model):
- """The activity query definitions.
+class HostEntity(Entity):
+ """Represents a host entity.
- :ivar query: The insight query.
- :vartype query: str
- :ivar text: The insight text.
- :vartype text: str
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar azure_id: The azure resource id of the VM.
+ :vartype azure_id: str
+ :ivar dns_domain: The DNS domain that this host belongs to. Should contain the compete DNS
+ suffix for the domain.
+ :vartype dns_domain: str
+ :ivar host_name: The hostname without the domain suffix.
+ :vartype host_name: str
+ :ivar is_domain_joined: Determines whether this host belongs to a domain.
+ :vartype is_domain_joined: bool
+ :ivar net_bios_name: The host name (pre-windows2000).
+ :vartype net_bios_name: str
+ :ivar nt_domain: The NT domain that this host belongs to.
+ :vartype nt_domain: str
+ :ivar oms_agent_id: The OMS agent id, if the host has OMS agent installed.
+ :vartype oms_agent_id: str
+ :ivar os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
+ "IOS", and "Unknown".
+ :vartype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
+ :ivar os_version: A free text representation of the operating system. This field is meant to
+ hold specific versions the are more fine grained than OSFamily or future values not supported
+ by OSFamily enumeration.
+ :vartype os_version: str
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "azure_id": {"readonly": True},
+ "dns_domain": {"readonly": True},
+ "host_name": {"readonly": True},
+ "is_domain_joined": {"readonly": True},
+ "net_bios_name": {"readonly": True},
+ "nt_domain": {"readonly": True},
+ "oms_agent_id": {"readonly": True},
+ "os_version": {"readonly": True},
+ }
+
_attribute_map = {
- "query": {"key": "query", "type": "str"},
- "text": {"key": "text", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "azure_id": {"key": "properties.azureID", "type": "str"},
+ "dns_domain": {"key": "properties.dnsDomain", "type": "str"},
+ "host_name": {"key": "properties.hostName", "type": "str"},
+ "is_domain_joined": {"key": "properties.isDomainJoined", "type": "bool"},
+ "net_bios_name": {"key": "properties.netBiosName", "type": "str"},
+ "nt_domain": {"key": "properties.ntDomain", "type": "str"},
+ "oms_agent_id": {"key": "properties.omsAgentID", "type": "str"},
+ "os_family": {"key": "properties.osFamily", "type": "str"},
+ "os_version": {"key": "properties.osVersion", "type": "str"},
}
- def __init__(self, *, query: Optional[str] = None, text: Optional[str] = None, **kwargs):
+ def __init__(self, *, os_family: Optional[Union[str, "_models.OSFamily"]] = None, **kwargs: Any) -> None:
"""
- :keyword query: The insight query.
- :paramtype query: str
- :keyword text: The insight text.
- :paramtype text: str
+ :keyword os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
+ "IOS", and "Unknown".
+ :paramtype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
"""
super().__init__(**kwargs)
- self.query = query
- self.text = text
+ self.kind: str = "Host"
+ self.additional_data = None
+ self.friendly_name = None
+ self.azure_id = None
+ self.dns_domain = None
+ self.host_name = None
+ self.is_domain_joined = None
+ self.net_bios_name = None
+ self.nt_domain = None
+ self.oms_agent_id = None
+ self.os_family = os_family
+ self.os_version = None
-class InsightQueryItemPropertiesDefaultTimeRange(_serialization.Model):
- """The insight chart query.
+class HostEntityProperties(EntityCommonProperties):
+ """Host entity property bag.
- :ivar before_range: The padding for the start time of the query.
- :vartype before_range: str
- :ivar after_range: The padding for the end time of the query.
- :vartype after_range: str
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar azure_id: The azure resource id of the VM.
+ :vartype azure_id: str
+ :ivar dns_domain: The DNS domain that this host belongs to. Should contain the compete DNS
+ suffix for the domain.
+ :vartype dns_domain: str
+ :ivar host_name: The hostname without the domain suffix.
+ :vartype host_name: str
+ :ivar is_domain_joined: Determines whether this host belongs to a domain.
+ :vartype is_domain_joined: bool
+ :ivar net_bios_name: The host name (pre-windows2000).
+ :vartype net_bios_name: str
+ :ivar nt_domain: The NT domain that this host belongs to.
+ :vartype nt_domain: str
+ :ivar oms_agent_id: The OMS agent id, if the host has OMS agent installed.
+ :vartype oms_agent_id: str
+ :ivar os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
+ "IOS", and "Unknown".
+ :vartype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
+ :ivar os_version: A free text representation of the operating system. This field is meant to
+ hold specific versions the are more fine grained than OSFamily or future values not supported
+ by OSFamily enumeration.
+ :vartype os_version: str
"""
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "azure_id": {"readonly": True},
+ "dns_domain": {"readonly": True},
+ "host_name": {"readonly": True},
+ "is_domain_joined": {"readonly": True},
+ "net_bios_name": {"readonly": True},
+ "nt_domain": {"readonly": True},
+ "oms_agent_id": {"readonly": True},
+ "os_version": {"readonly": True},
+ }
+
_attribute_map = {
- "before_range": {"key": "beforeRange", "type": "str"},
- "after_range": {"key": "afterRange", "type": "str"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "azure_id": {"key": "azureID", "type": "str"},
+ "dns_domain": {"key": "dnsDomain", "type": "str"},
+ "host_name": {"key": "hostName", "type": "str"},
+ "is_domain_joined": {"key": "isDomainJoined", "type": "bool"},
+ "net_bios_name": {"key": "netBiosName", "type": "str"},
+ "nt_domain": {"key": "ntDomain", "type": "str"},
+ "oms_agent_id": {"key": "omsAgentID", "type": "str"},
+ "os_family": {"key": "osFamily", "type": "str"},
+ "os_version": {"key": "osVersion", "type": "str"},
}
- def __init__(self, *, before_range: Optional[str] = None, after_range: Optional[str] = None, **kwargs):
+ def __init__(self, *, os_family: Optional[Union[str, "_models.OSFamily"]] = None, **kwargs: Any) -> None:
"""
- :keyword before_range: The padding for the start time of the query.
- :paramtype before_range: str
- :keyword after_range: The padding for the end time of the query.
- :paramtype after_range: str
+ :keyword os_family: The operating system type. Known values are: "Linux", "Windows", "Android",
+ "IOS", and "Unknown".
+ :paramtype os_family: str or ~azure.mgmt.securityinsight.models.OSFamily
"""
super().__init__(**kwargs)
- self.before_range = before_range
- self.after_range = after_range
-
+ self.azure_id = None
+ self.dns_domain = None
+ self.host_name = None
+ self.is_domain_joined = None
+ self.net_bios_name = None
+ self.nt_domain = None
+ self.oms_agent_id = None
+ self.os_family = os_family
+ self.os_version = None
-class InsightQueryItemPropertiesReferenceTimeRange(_serialization.Model):
- """The insight chart query.
- :ivar before_range: Additional query time for looking back.
- :vartype before_range: str
- """
+class Hunt(ResourceWithEtag):
+ """Represents a Hunt in Azure Security Insights.
- _attribute_map = {
- "before_range": {"key": "beforeRange", "type": "str"},
- }
+ Variables are only populated by the server, and will be ignored when sending a request.
- def __init__(self, *, before_range: Optional[str] = None, **kwargs):
- """
- :keyword before_range: Additional query time for looking back.
- :paramtype before_range: str
- """
- super().__init__(**kwargs)
- self.before_range = before_range
-
-
-class InsightQueryItemPropertiesTableQuery(_serialization.Model):
- """The insight table query.
-
- :ivar columns_definitions: List of insight column definitions.
- :vartype columns_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]
- :ivar queries_definitions: List of insight queries definitions.
- :vartype queries_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar display_name: The display name of the hunt.
+ :vartype display_name: str
+ :ivar description: The description of the hunt.
+ :vartype description: str
+ :ivar status: The status of the hunt. Known values are: "New", "Active", "Closed", "Backlog",
+ "Approved", "Succeeded", "Failed", and "InProgress".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.Status
+ :ivar hypothesis_status: The hypothesis status of the hunt. Known values are: "Unknown",
+ "Invalidated", and "Validated".
+ :vartype hypothesis_status: str or ~azure.mgmt.securityinsight.models.HypothesisStatus
+ :ivar attack_tactics: A list of mitre attack tactics the hunt is associated with.
+ :vartype attack_tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar attack_techniques: A list of a mitre attack techniques the hunt is associated with.
+ :vartype attack_techniques: list[str]
+ :ivar labels: List of labels relevant to this hunt.
+ :vartype labels: list[str]
+ :ivar owner: Describes a user that the hunt is assigned to.
+ :vartype owner: ~azure.mgmt.securityinsight.models.HuntOwner
"""
- _attribute_map = {
- "columns_definitions": {
- "key": "columnsDefinitions",
- "type": "[InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]",
- },
- "queries_definitions": {
- "key": "queriesDefinitions",
- "type": "[InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]",
- },
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
- def __init__(
- self,
- *,
- columns_definitions: Optional[
- List["_models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem"]
- ] = None,
- queries_definitions: Optional[
- List["_models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem"]
- ] = None,
- **kwargs
- ):
- """
- :keyword columns_definitions: List of insight column definitions.
- :paramtype columns_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]
- :keyword queries_definitions: List of insight queries definitions.
- :paramtype queries_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]
- """
- super().__init__(**kwargs)
- self.columns_definitions = columns_definitions
- self.queries_definitions = queries_definitions
-
-
-class InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem(_serialization.Model):
- """InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem.
-
- :ivar header: Insight column header.
- :vartype header: str
- :ivar output_type: Insights Column type. Known values are: "Number", "String", "Date", and
- "Entity".
- :vartype output_type: str or ~azure.mgmt.securityinsight.models.OutputType
- :ivar support_deep_link: Is query supports deep-link.
- :vartype support_deep_link: bool
- """
-
_attribute_map = {
- "header": {"key": "header", "type": "str"},
- "output_type": {"key": "outputType", "type": "str"},
- "support_deep_link": {"key": "supportDeepLink", "type": "bool"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "status": {"key": "properties.status", "type": "str"},
+ "hypothesis_status": {"key": "properties.hypothesisStatus", "type": "str"},
+ "attack_tactics": {"key": "properties.attackTactics", "type": "[str]"},
+ "attack_techniques": {"key": "properties.attackTechniques", "type": "[str]"},
+ "labels": {"key": "properties.labels", "type": "[str]"},
+ "owner": {"key": "properties.owner", "type": "HuntOwner"},
}
def __init__(
self,
*,
- header: Optional[str] = None,
- output_type: Optional[Union[str, "_models.OutputType"]] = None,
- support_deep_link: Optional[bool] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ status: Optional[Union[str, "_models.Status"]] = None,
+ hypothesis_status: Union[str, "_models.HypothesisStatus"] = "Unknown",
+ attack_tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ attack_techniques: Optional[List[str]] = None,
+ labels: Optional[List[str]] = None,
+ owner: Optional["_models.HuntOwner"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword header: Insight column header.
- :paramtype header: str
- :keyword output_type: Insights Column type. Known values are: "Number", "String", "Date", and
- "Entity".
- :paramtype output_type: str or ~azure.mgmt.securityinsight.models.OutputType
- :keyword support_deep_link: Is query supports deep-link.
- :paramtype support_deep_link: bool
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword display_name: The display name of the hunt.
+ :paramtype display_name: str
+ :keyword description: The description of the hunt.
+ :paramtype description: str
+ :keyword status: The status of the hunt. Known values are: "New", "Active", "Closed",
+ "Backlog", "Approved", "Succeeded", "Failed", and "InProgress".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.Status
+ :keyword hypothesis_status: The hypothesis status of the hunt. Known values are: "Unknown",
+ "Invalidated", and "Validated".
+ :paramtype hypothesis_status: str or ~azure.mgmt.securityinsight.models.HypothesisStatus
+ :keyword attack_tactics: A list of mitre attack tactics the hunt is associated with.
+ :paramtype attack_tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword attack_techniques: A list of a mitre attack techniques the hunt is associated with.
+ :paramtype attack_techniques: list[str]
+ :keyword labels: List of labels relevant to this hunt.
+ :paramtype labels: list[str]
+ :keyword owner: Describes a user that the hunt is assigned to.
+ :paramtype owner: ~azure.mgmt.securityinsight.models.HuntOwner
"""
- super().__init__(**kwargs)
- self.header = header
- self.output_type = output_type
- self.support_deep_link = support_deep_link
+ super().__init__(etag=etag, **kwargs)
+ self.display_name = display_name
+ self.description = description
+ self.status = status
+ self.hypothesis_status = hypothesis_status
+ self.attack_tactics = attack_tactics
+ self.attack_techniques = attack_techniques
+ self.labels = labels
+ self.owner = owner
-class InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem(_serialization.Model):
- """InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem.
+class HuntComment(ResourceWithEtag):
+ """Represents a Hunt Comment in Azure Security Insights.
- :ivar filter: Insight column header.
- :vartype filter: str
- :ivar summarize: Insight column header.
- :vartype summarize: str
- :ivar project: Insight column header.
- :vartype project: str
- :ivar link_columns_definitions: Insight column header.
- :vartype link_columns_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem]
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar message: The message for the comment.
+ :vartype message: str
"""
- _attribute_map = {
- "filter": {"key": "filter", "type": "str"},
- "summarize": {"key": "summarize", "type": "str"},
- "project": {"key": "project", "type": "str"},
- "link_columns_definitions": {
- "key": "linkColumnsDefinitions",
- "type": "[InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem]",
- },
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
- def __init__(
- self,
- *,
- filter: Optional[str] = None, # pylint: disable=redefined-builtin
- summarize: Optional[str] = None,
- project: Optional[str] = None,
- link_columns_definitions: Optional[
- List["_models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem"]
- ] = None,
- **kwargs
- ):
- """
- :keyword filter: Insight column header.
- :paramtype filter: str
- :keyword summarize: Insight column header.
- :paramtype summarize: str
- :keyword project: Insight column header.
- :paramtype project: str
- :keyword link_columns_definitions: Insight column header.
- :paramtype link_columns_definitions:
- list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem]
- """
- super().__init__(**kwargs)
- self.filter = filter
- self.summarize = summarize
- self.project = project
- self.link_columns_definitions = link_columns_definitions
-
-
-class InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem(_serialization.Model):
- """InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem.
-
- :ivar projected_name: Insight Link Definition Projected Name.
- :vartype projected_name: str
- :ivar query: Insight Link Definition Query.
- :vartype query: str
- """
-
_attribute_map = {
- "projected_name": {"key": "projectedName", "type": "str"},
- "query": {"key": "Query", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "message": {"key": "properties.message", "type": "str"},
}
- def __init__(self, *, projected_name: Optional[str] = None, query: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword projected_name: Insight Link Definition Projected Name.
- :paramtype projected_name: str
- :keyword query: Insight Link Definition Query.
- :paramtype query: str
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword message: The message for the comment.
+ :paramtype message: str
"""
- super().__init__(**kwargs)
- self.projected_name = projected_name
- self.query = query
+ super().__init__(etag=etag, **kwargs)
+ self.message = message
-class InsightsTableResult(_serialization.Model):
- """Query results for table insights query.
+class HuntCommentList(_serialization.Model):
+ """List of all hunt comments.
- :ivar columns: Columns Metadata of the table.
- :vartype columns: list[~azure.mgmt.securityinsight.models.InsightsTableResultColumnsItem]
- :ivar rows: Rows data of the table.
- :vartype rows: list[list[str]]
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of hunt comments.
+ :vartype next_link: str
+ :ivar value: Array of hunt comments. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.HuntComment]
"""
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
_attribute_map = {
- "columns": {"key": "columns", "type": "[InsightsTableResultColumnsItem]"},
- "rows": {"key": "rows", "type": "[[str]]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[HuntComment]"},
}
- def __init__(
- self,
- *,
- columns: Optional[List["_models.InsightsTableResultColumnsItem"]] = None,
- rows: Optional[List[List[str]]] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.HuntComment"], **kwargs: Any) -> None:
"""
- :keyword columns: Columns Metadata of the table.
- :paramtype columns: list[~azure.mgmt.securityinsight.models.InsightsTableResultColumnsItem]
- :keyword rows: Rows data of the table.
- :paramtype rows: list[list[str]]
+ :keyword value: Array of hunt comments. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.HuntComment]
"""
super().__init__(**kwargs)
- self.columns = columns
- self.rows = rows
+ self.next_link = None
+ self.value = value
-class InsightsTableResultColumnsItem(_serialization.Model):
- """InsightsTableResultColumnsItem.
+class HuntingBookmark(Entity):
+ """Represents a Hunting bookmark entity.
- :ivar type: the type of the colum.
- :vartype type: str
- :ivar name: the name of the colum.
- :vartype name: str
- """
+ Variables are only populated by the server, and will be ignored when sending a request.
- _attribute_map = {
- "type": {"key": "type", "type": "str"},
- "name": {"key": "name", "type": "str"},
- }
+ All required parameters must be populated in order to send to server.
- def __init__(self, *, type: Optional[str] = None, name: Optional[str] = None, **kwargs):
- """
- :keyword type: the type of the colum.
- :paramtype type: str
- :keyword name: the name of the colum.
- :paramtype name: str
- """
- super().__init__(**kwargs)
- self.type = type
- self.name = name
-
-
-class Instructions(_serialization.Model):
- """Instructions section of a recommendation.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar actions_to_be_performed: What actions should be taken to complete the recommendation.
- Required.
- :vartype actions_to_be_performed: str
- :ivar recommendation_importance: Explains why the recommendation is important. Required.
- :vartype recommendation_importance: str
- :ivar how_to_perform_action_details: How should the user complete the recommendation.
- :vartype how_to_perform_action_details: str
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar created: The time the bookmark was created.
+ :vartype created: ~datetime.datetime
+ :ivar created_by: Describes a user that created the bookmark.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar display_name: The display name of the bookmark.
+ :vartype display_name: str
+ :ivar event_time: The time of the event.
+ :vartype event_time: ~datetime.datetime
+ :ivar labels: List of labels relevant to this bookmark.
+ :vartype labels: list[str]
+ :ivar notes: The notes of the bookmark.
+ :vartype notes: str
+ :ivar query: The query of the bookmark.
+ :vartype query: str
+ :ivar query_result: The query result of the bookmark.
+ :vartype query_result: str
+ :ivar updated: The last time the bookmark was updated.
+ :vartype updated: ~datetime.datetime
+ :ivar updated_by: Describes a user that updated the bookmark.
+ :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar incident_info: Describes an incident that relates to bookmark.
+ :vartype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
"""
_validation = {
- "actions_to_be_performed": {"required": True},
- "recommendation_importance": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
}
_attribute_map = {
- "actions_to_be_performed": {"key": "actionsToBePerformed", "type": "str"},
- "recommendation_importance": {"key": "recommendationImportance", "type": "str"},
- "how_to_perform_action_details": {"key": "howToPerformActionDetails", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "created": {"key": "properties.created", "type": "iso-8601"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "event_time": {"key": "properties.eventTime", "type": "iso-8601"},
+ "labels": {"key": "properties.labels", "type": "[str]"},
+ "notes": {"key": "properties.notes", "type": "str"},
+ "query": {"key": "properties.query", "type": "str"},
+ "query_result": {"key": "properties.queryResult", "type": "str"},
+ "updated": {"key": "properties.updated", "type": "iso-8601"},
+ "updated_by": {"key": "properties.updatedBy", "type": "UserInfo"},
+ "incident_info": {"key": "properties.incidentInfo", "type": "IncidentInfo"},
}
def __init__(
self,
*,
- actions_to_be_performed: str,
- recommendation_importance: str,
- how_to_perform_action_details: Optional[str] = None,
- **kwargs
- ):
+ created: Optional[datetime.datetime] = None,
+ created_by: Optional["_models.UserInfo"] = None,
+ display_name: Optional[str] = None,
+ event_time: Optional[datetime.datetime] = None,
+ labels: Optional[List[str]] = None,
+ notes: Optional[str] = None,
+ query: Optional[str] = None,
+ query_result: Optional[str] = None,
+ updated: Optional[datetime.datetime] = None,
+ updated_by: Optional["_models.UserInfo"] = None,
+ incident_info: Optional["_models.IncidentInfo"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword actions_to_be_performed: What actions should be taken to complete the recommendation.
- Required.
- :paramtype actions_to_be_performed: str
- :keyword recommendation_importance: Explains why the recommendation is important. Required.
- :paramtype recommendation_importance: str
- :keyword how_to_perform_action_details: How should the user complete the recommendation.
- :paramtype how_to_perform_action_details: str
+ :keyword created: The time the bookmark was created.
+ :paramtype created: ~datetime.datetime
+ :keyword created_by: Describes a user that created the bookmark.
+ :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword display_name: The display name of the bookmark.
+ :paramtype display_name: str
+ :keyword event_time: The time of the event.
+ :paramtype event_time: ~datetime.datetime
+ :keyword labels: List of labels relevant to this bookmark.
+ :paramtype labels: list[str]
+ :keyword notes: The notes of the bookmark.
+ :paramtype notes: str
+ :keyword query: The query of the bookmark.
+ :paramtype query: str
+ :keyword query_result: The query result of the bookmark.
+ :paramtype query_result: str
+ :keyword updated: The last time the bookmark was updated.
+ :paramtype updated: ~datetime.datetime
+ :keyword updated_by: Describes a user that updated the bookmark.
+ :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword incident_info: Describes an incident that relates to bookmark.
+ :paramtype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
"""
super().__init__(**kwargs)
- self.actions_to_be_performed = actions_to_be_performed
- self.recommendation_importance = recommendation_importance
- self.how_to_perform_action_details = how_to_perform_action_details
+ self.kind: str = "Bookmark"
+ self.additional_data = None
+ self.friendly_name = None
+ self.created = created
+ self.created_by = created_by
+ self.display_name = display_name
+ self.event_time = event_time
+ self.labels = labels
+ self.notes = notes
+ self.query = query
+ self.query_result = query_result
+ self.updated = updated
+ self.updated_by = updated_by
+ self.incident_info = incident_info
-class InstructionStepsInstructionsItem(ConnectorInstructionModelBase):
- """InstructionStepsInstructionsItem.
+class HuntingBookmarkProperties(EntityCommonProperties):
+ """Describes bookmark properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar parameters: The parameters for the setting.
- :vartype parameters: JSON
- :ivar type: The kind of the setting. Required. Known values are: "CopyableLabel",
- "InstructionStepsGroup", and "InfoMessage".
- :vartype type: str or ~azure.mgmt.securityinsight.models.SettingType
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar created: The time the bookmark was created.
+ :vartype created: ~datetime.datetime
+ :ivar created_by: Describes a user that created the bookmark.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar display_name: The display name of the bookmark. Required.
+ :vartype display_name: str
+ :ivar event_time: The time of the event.
+ :vartype event_time: ~datetime.datetime
+ :ivar labels: List of labels relevant to this bookmark.
+ :vartype labels: list[str]
+ :ivar notes: The notes of the bookmark.
+ :vartype notes: str
+ :ivar query: The query of the bookmark. Required.
+ :vartype query: str
+ :ivar query_result: The query result of the bookmark.
+ :vartype query_result: str
+ :ivar updated: The last time the bookmark was updated.
+ :vartype updated: ~datetime.datetime
+ :ivar updated_by: Describes a user that updated the bookmark.
+ :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar incident_info: Describes an incident that relates to bookmark.
+ :vartype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
"""
_validation = {
- "type": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "display_name": {"required": True},
+ "query": {"required": True},
}
_attribute_map = {
- "parameters": {"key": "parameters", "type": "object"},
- "type": {"key": "type", "type": "str"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "created": {"key": "created", "type": "iso-8601"},
+ "created_by": {"key": "createdBy", "type": "UserInfo"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "event_time": {"key": "eventTime", "type": "iso-8601"},
+ "labels": {"key": "labels", "type": "[str]"},
+ "notes": {"key": "notes", "type": "str"},
+ "query": {"key": "query", "type": "str"},
+ "query_result": {"key": "queryResult", "type": "str"},
+ "updated": {"key": "updated", "type": "iso-8601"},
+ "updated_by": {"key": "updatedBy", "type": "UserInfo"},
+ "incident_info": {"key": "incidentInfo", "type": "IncidentInfo"},
}
- def __init__(self, *, type: Union[str, "_models.SettingType"], parameters: Optional[JSON] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ display_name: str,
+ query: str,
+ created: Optional[datetime.datetime] = None,
+ created_by: Optional["_models.UserInfo"] = None,
+ event_time: Optional[datetime.datetime] = None,
+ labels: Optional[List[str]] = None,
+ notes: Optional[str] = None,
+ query_result: Optional[str] = None,
+ updated: Optional[datetime.datetime] = None,
+ updated_by: Optional["_models.UserInfo"] = None,
+ incident_info: Optional["_models.IncidentInfo"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword parameters: The parameters for the setting.
- :paramtype parameters: JSON
- :keyword type: The kind of the setting. Required. Known values are: "CopyableLabel",
- "InstructionStepsGroup", and "InfoMessage".
- :paramtype type: str or ~azure.mgmt.securityinsight.models.SettingType
+ :keyword created: The time the bookmark was created.
+ :paramtype created: ~datetime.datetime
+ :keyword created_by: Describes a user that created the bookmark.
+ :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword display_name: The display name of the bookmark. Required.
+ :paramtype display_name: str
+ :keyword event_time: The time of the event.
+ :paramtype event_time: ~datetime.datetime
+ :keyword labels: List of labels relevant to this bookmark.
+ :paramtype labels: list[str]
+ :keyword notes: The notes of the bookmark.
+ :paramtype notes: str
+ :keyword query: The query of the bookmark. Required.
+ :paramtype query: str
+ :keyword query_result: The query result of the bookmark.
+ :paramtype query_result: str
+ :keyword updated: The last time the bookmark was updated.
+ :paramtype updated: ~datetime.datetime
+ :keyword updated_by: Describes a user that updated the bookmark.
+ :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword incident_info: Describes an incident that relates to bookmark.
+ :paramtype incident_info: ~azure.mgmt.securityinsight.models.IncidentInfo
"""
- super().__init__(parameters=parameters, type=type, **kwargs)
+ super().__init__(**kwargs)
+ self.created = created
+ self.created_by = created_by
+ self.display_name = display_name
+ self.event_time = event_time
+ self.labels = labels
+ self.notes = notes
+ self.query = query
+ self.query_result = query_result
+ self.updated = updated
+ self.updated_by = updated_by
+ self.incident_info = incident_info
-class IoTCheckRequirements(DataConnectorsCheckRequirements):
- """Represents IoT requirements check request.
+class HuntList(_serialization.Model):
+ """List all the hunts.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar subscription_id: The subscription id to connect to, and get the data from.
- :vartype subscription_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of hunts.
+ :vartype next_link: str
+ :ivar value: Array of hunts. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Hunt]
"""
_validation = {
- "kind": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "subscription_id": {"key": "properties.subscriptionId", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Hunt]"},
}
- def __init__(self, *, subscription_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, value: List["_models.Hunt"], **kwargs: Any) -> None:
"""
- :keyword subscription_id: The subscription id to connect to, and get the data from.
- :paramtype subscription_id: str
+ :keyword value: Array of hunts. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Hunt]
"""
super().__init__(**kwargs)
- self.kind: str = "IOT"
- self.subscription_id = subscription_id
+ self.next_link = None
+ self.value = value
-class IoTDataConnector(DataConnector):
- """Represents IoT data connector.
+class HuntOwner(_serialization.Model):
+ """Describes a user that the hunt is assigned to.
- Variables are only populated by the server, and will be ignored when sending a request.
+ :ivar email: The email of the user the hunt is assigned to.
+ :vartype email: str
+ :ivar assigned_to: The name of the user the hunt is assigned to.
+ :vartype assigned_to: str
+ :ivar object_id: The object id of the user the hunt is assigned to.
+ :vartype object_id: str
+ :ivar user_principal_name: The user principal name of the user the hunt is assigned to.
+ :vartype user_principal_name: str
+ :ivar owner_type: The type of the owner the hunt is assigned to. Known values are: "Unknown",
+ "User", and "Group".
+ :vartype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ """
+
+ _attribute_map = {
+ "email": {"key": "email", "type": "str"},
+ "assigned_to": {"key": "assignedTo", "type": "str"},
+ "object_id": {"key": "objectId", "type": "str"},
+ "user_principal_name": {"key": "userPrincipalName", "type": "str"},
+ "owner_type": {"key": "ownerType", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ email: Optional[str] = None,
+ assigned_to: Optional[str] = None,
+ object_id: Optional[str] = None,
+ user_principal_name: Optional[str] = None,
+ owner_type: Optional[Union[str, "_models.OwnerType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword email: The email of the user the hunt is assigned to.
+ :paramtype email: str
+ :keyword assigned_to: The name of the user the hunt is assigned to.
+ :paramtype assigned_to: str
+ :keyword object_id: The object id of the user the hunt is assigned to.
+ :paramtype object_id: str
+ :keyword user_principal_name: The user principal name of the user the hunt is assigned to.
+ :paramtype user_principal_name: str
+ :keyword owner_type: The type of the owner the hunt is assigned to. Known values are:
+ "Unknown", "User", and "Group".
+ :paramtype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ """
+ super().__init__(**kwargs)
+ self.email = email
+ self.assigned_to = assigned_to
+ self.object_id = object_id
+ self.user_principal_name = user_principal_name
+ self.owner_type = owner_type
+
+
+class HuntRelation(ResourceWithEtag):
+ """Represents a Hunt Relation in Azure Security Insights.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -11545,18 +12385,16 @@ class IoTDataConnector(DataConnector):
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :ivar subscription_id: The subscription id to connect to, and get the data from.
- :vartype subscription_id: str
+ :ivar related_resource_id: The id of the related resource.
+ :vartype related_resource_id: str
+ :ivar related_resource_name: The name of the related resource.
+ :vartype related_resource_name: str
+ :ivar relation_type: The type of the hunt relation.
+ :vartype relation_type: str
+ :ivar related_resource_kind: The resource that the relation is related to.
+ :vartype related_resource_kind: str
+ :ivar labels: List of labels relevant to this hunt.
+ :vartype labels: list[str]
"""
_validation = {
@@ -11564,7 +12402,9 @@ class IoTDataConnector(DataConnector):
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "kind": {"required": True},
+ "related_resource_name": {"readonly": True},
+ "relation_type": {"readonly": True},
+ "related_resource_kind": {"readonly": True},
}
_attribute_map = {
@@ -11573,73 +12413,79 @@ class IoTDataConnector(DataConnector):
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- "subscription_id": {"key": "properties.subscriptionId", "type": "str"},
+ "related_resource_id": {"key": "properties.relatedResourceId", "type": "str"},
+ "related_resource_name": {"key": "properties.relatedResourceName", "type": "str"},
+ "relation_type": {"key": "properties.relationType", "type": "str"},
+ "related_resource_kind": {"key": "properties.relatedResourceKind", "type": "str"},
+ "labels": {"key": "properties.labels", "type": "[str]"},
}
def __init__(
self,
*,
etag: Optional[str] = None,
- data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- subscription_id: Optional[str] = None,
- **kwargs
- ):
+ related_resource_id: Optional[str] = None,
+ labels: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :keyword subscription_id: The subscription id to connect to, and get the data from.
- :paramtype subscription_id: str
+ :keyword related_resource_id: The id of the related resource.
+ :paramtype related_resource_id: str
+ :keyword labels: List of labels relevant to this hunt.
+ :paramtype labels: list[str]
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "IOT"
- self.data_types = data_types
- self.subscription_id = subscription_id
+ self.related_resource_id = related_resource_id
+ self.related_resource_name = None
+ self.relation_type = None
+ self.related_resource_kind = None
+ self.labels = labels
-class IoTDataConnectorProperties(DataConnectorWithAlertsProperties):
- """IoT data connector properties.
+class HuntRelationList(_serialization.Model):
+ """List of all the hunt relations.
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :ivar subscription_id: The subscription id to connect to, and get the data from.
- :vartype subscription_id: str
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of hunt relations.
+ :vartype next_link: str
+ :ivar value: Array of hunt relations. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.HuntRelation]
"""
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
_attribute_map = {
- "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[HuntRelation]"},
}
- def __init__(
- self,
- *,
- data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- subscription_id: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.HuntRelation"], **kwargs: Any) -> None:
"""
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :keyword subscription_id: The subscription id to connect to, and get the data from.
- :paramtype subscription_id: str
+ :keyword value: Array of hunt relations. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.HuntRelation]
"""
- super().__init__(data_types=data_types, **kwargs)
- self.subscription_id = subscription_id
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class IoTDeviceEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents an IoT device entity.
+class Identity(TIObject):
+ """Represents an identity in Azure Security Insights.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -11649,74 +12495,34 @@ class IoTDeviceEntity(Entity): # pylint: disable=too-many-instance-attributes
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar device_id: The ID of the IoT Device in the IoT Hub.
- :vartype device_id: str
- :ivar device_name: The friendly name of the device.
- :vartype device_name: str
- :ivar source: The source of the device.
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
:vartype source: str
- :ivar iot_security_agent_id: The ID of the security agent running on the device.
- :vartype iot_security_agent_id: str
- :ivar device_type: The type of the device.
- :vartype device_type: str
- :ivar vendor: The vendor of the device.
- :vartype vendor: str
- :ivar edge_id: The ID of the edge device.
- :vartype edge_id: str
- :ivar mac_address: The MAC address of the device.
- :vartype mac_address: str
- :ivar model: The model of the device.
- :vartype model: str
- :ivar serial_number: The serial number of the device.
- :vartype serial_number: str
- :ivar firmware_version: The firmware version of the device.
- :vartype firmware_version: str
- :ivar operating_system: The operating system of the device.
- :vartype operating_system: str
- :ivar iot_hub_entity_id: The AzureResource entity id of the IoT Hub.
- :vartype iot_hub_entity_id: str
- :ivar host_entity_id: The Host entity id of this device.
- :vartype host_entity_id: str
- :ivar ip_address_entity_id: The IP entity if of this device.
- :vartype ip_address_entity_id: str
- :ivar threat_intelligence: A list of TI contexts attached to the IoTDevice entity.
- :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
- :ivar protocols: A list of protocols of the IoTDevice entity.
- :vartype protocols: list[str]
- :ivar owners: A list of owners of the IoTDevice entity.
- :vartype owners: list[str]
- :ivar nic_entity_ids: A list of Nic entity ids of the IoTDevice entity.
- :vartype nic_entity_ids: list[str]
- :ivar site: The site of the device.
- :vartype site: str
- :ivar zone: The zone location of the device within a site.
- :vartype zone: str
- :ivar sensor: The sensor the device is monitored by.
- :vartype sensor: str
- :ivar device_sub_type: The subType of the device ('PLC', 'HMI', 'EWS', etc.).
- :vartype device_sub_type: str
- :ivar importance: Device importance, determines if the device classified as 'crown jewel'.
- Known values are: "Unknown", "Low", "Normal", and "High".
- :vartype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
- :ivar purdue_layer: The Purdue Layer of the device.
- :vartype purdue_layer: str
- :ivar is_authorized: Determines whether the device classified as authorized device.
- :vartype is_authorized: bool
- :ivar is_programming: Determines whether the device classified as programming device.
- :vartype is_programming: bool
- :ivar is_scanner: Is the device classified as a scanner device.
- :vartype is_scanner: bool
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
"""
_validation = {
@@ -11725,35 +12531,16 @@ class IoTDeviceEntity(Entity): # pylint: disable=too-many-instance-attributes
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "device_id": {"readonly": True},
- "device_name": {"readonly": True},
+ "data": {"readonly": True},
+ "created_by": {"readonly": True},
"source": {"readonly": True},
- "iot_security_agent_id": {"readonly": True},
- "device_type": {"readonly": True},
- "vendor": {"readonly": True},
- "edge_id": {"readonly": True},
- "mac_address": {"readonly": True},
- "model": {"readonly": True},
- "serial_number": {"readonly": True},
- "firmware_version": {"readonly": True},
- "operating_system": {"readonly": True},
- "iot_hub_entity_id": {"readonly": True},
- "host_entity_id": {"readonly": True},
- "ip_address_entity_id": {"readonly": True},
- "threat_intelligence": {"readonly": True},
- "protocols": {"readonly": True},
- "owners": {"readonly": True},
- "nic_entity_ids": {"readonly": True},
- "site": {"readonly": True},
- "zone": {"readonly": True},
- "sensor": {"readonly": True},
- "device_sub_type": {"readonly": True},
- "purdue_layer": {"readonly": True},
- "is_authorized": {"readonly": True},
- "is_programming": {"readonly": True},
- "is_scanner": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
}
_attribute_map = {
@@ -11762,380 +12549,320 @@ class IoTDeviceEntity(Entity): # pylint: disable=too-many-instance-attributes
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "device_id": {"key": "properties.deviceId", "type": "str"},
- "device_name": {"key": "properties.deviceName", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
"source": {"key": "properties.source", "type": "str"},
- "iot_security_agent_id": {"key": "properties.iotSecurityAgentId", "type": "str"},
- "device_type": {"key": "properties.deviceType", "type": "str"},
- "vendor": {"key": "properties.vendor", "type": "str"},
- "edge_id": {"key": "properties.edgeId", "type": "str"},
- "mac_address": {"key": "properties.macAddress", "type": "str"},
- "model": {"key": "properties.model", "type": "str"},
- "serial_number": {"key": "properties.serialNumber", "type": "str"},
- "firmware_version": {"key": "properties.firmwareVersion", "type": "str"},
- "operating_system": {"key": "properties.operatingSystem", "type": "str"},
- "iot_hub_entity_id": {"key": "properties.iotHubEntityId", "type": "str"},
- "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
- "ip_address_entity_id": {"key": "properties.ipAddressEntityId", "type": "str"},
- "threat_intelligence": {"key": "properties.threatIntelligence", "type": "[ThreatIntelligence]"},
- "protocols": {"key": "properties.protocols", "type": "[str]"},
- "owners": {"key": "properties.owners", "type": "[str]"},
- "nic_entity_ids": {"key": "properties.nicEntityIds", "type": "[str]"},
- "site": {"key": "properties.site", "type": "str"},
- "zone": {"key": "properties.zone", "type": "str"},
- "sensor": {"key": "properties.sensor", "type": "str"},
- "device_sub_type": {"key": "properties.deviceSubType", "type": "str"},
- "importance": {"key": "properties.importance", "type": "str"},
- "purdue_layer": {"key": "properties.purdueLayer", "type": "str"},
- "is_authorized": {"key": "properties.isAuthorized", "type": "bool"},
- "is_programming": {"key": "properties.isProgramming", "type": "bool"},
- "is_scanner": {"key": "properties.isScanner", "type": "bool"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
}
- def __init__( # pylint: disable=too-many-locals
- self, *, importance: Optional[Union[str, "_models.DeviceImportance"]] = None, **kwargs
- ):
- """
- :keyword importance: Device importance, determines if the device classified as 'crown jewel'.
- Known values are: "Unknown", "Low", "Normal", and "High".
- :paramtype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.kind: str = "IoTDevice"
- self.additional_data = None
- self.friendly_name = None
- self.device_id = None
- self.device_name = None
- self.source = None
- self.iot_security_agent_id = None
- self.device_type = None
- self.vendor = None
- self.edge_id = None
- self.mac_address = None
- self.model = None
- self.serial_number = None
- self.firmware_version = None
- self.operating_system = None
- self.iot_hub_entity_id = None
- self.host_entity_id = None
- self.ip_address_entity_id = None
- self.threat_intelligence = None
- self.protocols = None
- self.owners = None
- self.nic_entity_ids = None
- self.site = None
- self.zone = None
- self.sensor = None
- self.device_sub_type = None
- self.importance = importance
- self.purdue_layer = None
- self.is_authorized = None
- self.is_programming = None
- self.is_scanner = None
+ self.kind: str = "Identity"
-class IoTDeviceEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """IoTDevice entity property bag.
+class Incident(ResourceWithEtag):
+ """Incident.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar device_id: The ID of the IoT Device in the IoT Hub.
- :vartype device_id: str
- :ivar device_name: The friendly name of the device.
- :vartype device_name: str
- :ivar source: The source of the device.
- :vartype source: str
- :ivar iot_security_agent_id: The ID of the security agent running on the device.
- :vartype iot_security_agent_id: str
- :ivar device_type: The type of the device.
- :vartype device_type: str
- :ivar vendor: The vendor of the device.
- :vartype vendor: str
- :ivar edge_id: The ID of the edge device.
- :vartype edge_id: str
- :ivar mac_address: The MAC address of the device.
- :vartype mac_address: str
- :ivar model: The model of the device.
- :vartype model: str
- :ivar serial_number: The serial number of the device.
- :vartype serial_number: str
- :ivar firmware_version: The firmware version of the device.
- :vartype firmware_version: str
- :ivar operating_system: The operating system of the device.
- :vartype operating_system: str
- :ivar iot_hub_entity_id: The AzureResource entity id of the IoT Hub.
- :vartype iot_hub_entity_id: str
- :ivar host_entity_id: The Host entity id of this device.
- :vartype host_entity_id: str
- :ivar ip_address_entity_id: The IP entity if of this device.
- :vartype ip_address_entity_id: str
- :ivar threat_intelligence: A list of TI contexts attached to the IoTDevice entity.
- :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
- :ivar protocols: A list of protocols of the IoTDevice entity.
- :vartype protocols: list[str]
- :ivar owners: A list of owners of the IoTDevice entity.
- :vartype owners: list[str]
- :ivar nic_entity_ids: A list of Nic entity ids of the IoTDevice entity.
- :vartype nic_entity_ids: list[str]
- :ivar site: The site of the device.
- :vartype site: str
- :ivar zone: The zone location of the device within a site.
- :vartype zone: str
- :ivar sensor: The sensor the device is monitored by.
- :vartype sensor: str
- :ivar device_sub_type: The subType of the device ('PLC', 'HMI', 'EWS', etc.).
- :vartype device_sub_type: str
- :ivar importance: Device importance, determines if the device classified as 'crown jewel'.
- Known values are: "Unknown", "Low", "Normal", and "High".
- :vartype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
- :ivar purdue_layer: The Purdue Layer of the device.
- :vartype purdue_layer: str
- :ivar is_authorized: Determines whether the device classified as authorized device.
- :vartype is_authorized: bool
- :ivar is_programming: Determines whether the device classified as programming device.
- :vartype is_programming: bool
- :ivar is_scanner: Is the device classified as a scanner device.
- :vartype is_scanner: bool
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar title: The title of the incident.
+ :vartype title: str
+ :ivar description: The description of the incident.
+ :vartype description: str
+ :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :ivar status: The status of the incident. Known values are: "New", "Active", and "Closed".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
+ :ivar classification: The reason the incident was closed. Known values are: "Undetermined",
+ "TruePositive", "BenignPositive", and "FalsePositive".
+ :vartype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
+ :ivar classification_reason: The classification reason the incident was closed with. Known
+ values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
+ "InaccurateData".
+ :vartype classification_reason: str or
+ ~azure.mgmt.securityinsight.models.IncidentClassificationReason
+ :ivar classification_comment: Describes the reason the incident was closed.
+ :vartype classification_comment: str
+ :ivar owner: Describes a user that the incident is assigned to.
+ :vartype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
+ :ivar labels: List of labels relevant to this incident.
+ :vartype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ :ivar first_activity_time_utc: The time of the first activity in the incident.
+ :vartype first_activity_time_utc: ~datetime.datetime
+ :ivar last_activity_time_utc: The time of the last activity in the incident.
+ :vartype last_activity_time_utc: ~datetime.datetime
+ :ivar last_modified_time_utc: The last time the incident was updated.
+ :vartype last_modified_time_utc: ~datetime.datetime
+ :ivar created_time_utc: The time the incident was created.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar incident_number: A sequential number.
+ :vartype incident_number: int
+ :ivar additional_data: Additional data on the incident.
+ :vartype additional_data: ~azure.mgmt.securityinsight.models.IncidentAdditionalData
+ :ivar related_analytic_rule_ids: List of resource ids of Analytic rules related to the
+ incident.
+ :vartype related_analytic_rule_ids: list[str]
+ :ivar incident_url: The deep-link url to the incident in Azure portal.
+ :vartype incident_url: str
+ :ivar provider_name: The name of the source provider that generated the incident.
+ :vartype provider_name: str
+ :ivar provider_incident_id: The incident ID assigned by the incident provider.
+ :vartype provider_incident_id: str
+ :ivar team_information: Describes a team for the incident.
+ :vartype team_information: ~azure.mgmt.securityinsight.models.TeamInformation
"""
_validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "last_modified_time_utc": {"readonly": True},
+ "created_time_utc": {"readonly": True},
+ "incident_number": {"readonly": True},
"additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "device_id": {"readonly": True},
- "device_name": {"readonly": True},
- "source": {"readonly": True},
- "iot_security_agent_id": {"readonly": True},
- "device_type": {"readonly": True},
- "vendor": {"readonly": True},
- "edge_id": {"readonly": True},
- "mac_address": {"readonly": True},
- "model": {"readonly": True},
- "serial_number": {"readonly": True},
- "firmware_version": {"readonly": True},
- "operating_system": {"readonly": True},
- "iot_hub_entity_id": {"readonly": True},
- "host_entity_id": {"readonly": True},
- "ip_address_entity_id": {"readonly": True},
- "threat_intelligence": {"readonly": True},
- "protocols": {"readonly": True},
- "owners": {"readonly": True},
- "nic_entity_ids": {"readonly": True},
- "site": {"readonly": True},
- "zone": {"readonly": True},
- "sensor": {"readonly": True},
- "device_sub_type": {"readonly": True},
- "purdue_layer": {"readonly": True},
- "is_authorized": {"readonly": True},
- "is_programming": {"readonly": True},
- "is_scanner": {"readonly": True},
+ "related_analytic_rule_ids": {"readonly": True},
+ "incident_url": {"readonly": True},
+ "provider_name": {"readonly": True},
+ "provider_incident_id": {"readonly": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "device_id": {"key": "deviceId", "type": "str"},
- "device_name": {"key": "deviceName", "type": "str"},
- "source": {"key": "source", "type": "str"},
- "iot_security_agent_id": {"key": "iotSecurityAgentId", "type": "str"},
- "device_type": {"key": "deviceType", "type": "str"},
- "vendor": {"key": "vendor", "type": "str"},
- "edge_id": {"key": "edgeId", "type": "str"},
- "mac_address": {"key": "macAddress", "type": "str"},
- "model": {"key": "model", "type": "str"},
- "serial_number": {"key": "serialNumber", "type": "str"},
- "firmware_version": {"key": "firmwareVersion", "type": "str"},
- "operating_system": {"key": "operatingSystem", "type": "str"},
- "iot_hub_entity_id": {"key": "iotHubEntityId", "type": "str"},
- "host_entity_id": {"key": "hostEntityId", "type": "str"},
- "ip_address_entity_id": {"key": "ipAddressEntityId", "type": "str"},
- "threat_intelligence": {"key": "threatIntelligence", "type": "[ThreatIntelligence]"},
- "protocols": {"key": "protocols", "type": "[str]"},
- "owners": {"key": "owners", "type": "[str]"},
- "nic_entity_ids": {"key": "nicEntityIds", "type": "[str]"},
- "site": {"key": "site", "type": "str"},
- "zone": {"key": "zone", "type": "str"},
- "sensor": {"key": "sensor", "type": "str"},
- "device_sub_type": {"key": "deviceSubType", "type": "str"},
- "importance": {"key": "importance", "type": "str"},
- "purdue_layer": {"key": "purdueLayer", "type": "str"},
- "is_authorized": {"key": "isAuthorized", "type": "bool"},
- "is_programming": {"key": "isProgramming", "type": "bool"},
- "is_scanner": {"key": "isScanner", "type": "bool"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "title": {"key": "properties.title", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "status": {"key": "properties.status", "type": "str"},
+ "classification": {"key": "properties.classification", "type": "str"},
+ "classification_reason": {"key": "properties.classificationReason", "type": "str"},
+ "classification_comment": {"key": "properties.classificationComment", "type": "str"},
+ "owner": {"key": "properties.owner", "type": "IncidentOwnerInfo"},
+ "labels": {"key": "properties.labels", "type": "[IncidentLabel]"},
+ "first_activity_time_utc": {"key": "properties.firstActivityTimeUtc", "type": "iso-8601"},
+ "last_activity_time_utc": {"key": "properties.lastActivityTimeUtc", "type": "iso-8601"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
+ "incident_number": {"key": "properties.incidentNumber", "type": "int"},
+ "additional_data": {"key": "properties.additionalData", "type": "IncidentAdditionalData"},
+ "related_analytic_rule_ids": {"key": "properties.relatedAnalyticRuleIds", "type": "[str]"},
+ "incident_url": {"key": "properties.incidentUrl", "type": "str"},
+ "provider_name": {"key": "properties.providerName", "type": "str"},
+ "provider_incident_id": {"key": "properties.providerIncidentId", "type": "str"},
+ "team_information": {"key": "properties.teamInformation", "type": "TeamInformation"},
}
def __init__( # pylint: disable=too-many-locals
- self, *, importance: Optional[Union[str, "_models.DeviceImportance"]] = None, **kwargs
- ):
+ self,
+ *,
+ etag: Optional[str] = None,
+ title: Optional[str] = None,
+ description: Optional[str] = None,
+ severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
+ status: Optional[Union[str, "_models.IncidentStatus"]] = None,
+ classification: Optional[Union[str, "_models.IncidentClassification"]] = None,
+ classification_reason: Optional[Union[str, "_models.IncidentClassificationReason"]] = None,
+ classification_comment: Optional[str] = None,
+ owner: Optional["_models.IncidentOwnerInfo"] = None,
+ labels: Optional[List["_models.IncidentLabel"]] = None,
+ first_activity_time_utc: Optional[datetime.datetime] = None,
+ last_activity_time_utc: Optional[datetime.datetime] = None,
+ team_information: Optional["_models.TeamInformation"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword importance: Device importance, determines if the device classified as 'crown jewel'.
- Known values are: "Unknown", "Low", "Normal", and "High".
- :paramtype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword title: The title of the incident.
+ :paramtype title: str
+ :keyword description: The description of the incident.
+ :paramtype description: str
+ :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :keyword status: The status of the incident. Known values are: "New", "Active", and "Closed".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
+ :keyword classification: The reason the incident was closed. Known values are: "Undetermined",
+ "TruePositive", "BenignPositive", and "FalsePositive".
+ :paramtype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
+ :keyword classification_reason: The classification reason the incident was closed with. Known
+ values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
+ "InaccurateData".
+ :paramtype classification_reason: str or
+ ~azure.mgmt.securityinsight.models.IncidentClassificationReason
+ :keyword classification_comment: Describes the reason the incident was closed.
+ :paramtype classification_comment: str
+ :keyword owner: Describes a user that the incident is assigned to.
+ :paramtype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
+ :keyword labels: List of labels relevant to this incident.
+ :paramtype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ :keyword first_activity_time_utc: The time of the first activity in the incident.
+ :paramtype first_activity_time_utc: ~datetime.datetime
+ :keyword last_activity_time_utc: The time of the last activity in the incident.
+ :paramtype last_activity_time_utc: ~datetime.datetime
+ :keyword team_information: Describes a team for the incident.
+ :paramtype team_information: ~azure.mgmt.securityinsight.models.TeamInformation
"""
- super().__init__(**kwargs)
- self.device_id = None
- self.device_name = None
- self.source = None
- self.iot_security_agent_id = None
- self.device_type = None
- self.vendor = None
- self.edge_id = None
- self.mac_address = None
- self.model = None
- self.serial_number = None
- self.firmware_version = None
- self.operating_system = None
- self.iot_hub_entity_id = None
- self.host_entity_id = None
- self.ip_address_entity_id = None
- self.threat_intelligence = None
- self.protocols = None
- self.owners = None
- self.nic_entity_ids = None
- self.site = None
- self.zone = None
- self.sensor = None
- self.device_sub_type = None
- self.importance = importance
- self.purdue_layer = None
- self.is_authorized = None
- self.is_programming = None
- self.is_scanner = None
+ super().__init__(etag=etag, **kwargs)
+ self.title = title
+ self.description = description
+ self.severity = severity
+ self.status = status
+ self.classification = classification
+ self.classification_reason = classification_reason
+ self.classification_comment = classification_comment
+ self.owner = owner
+ self.labels = labels
+ self.first_activity_time_utc = first_activity_time_utc
+ self.last_activity_time_utc = last_activity_time_utc
+ self.last_modified_time_utc = None
+ self.created_time_utc = None
+ self.incident_number = None
+ self.additional_data = None
+ self.related_analytic_rule_ids = None
+ self.incident_url = None
+ self.provider_name = None
+ self.provider_incident_id = None
+ self.team_information = team_information
-class IpEntity(Entity):
- """Represents an ip entity.
+class IncidentAdditionalData(_serialization.Model):
+ """Incident additional data property bag.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar address: The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6).
- :vartype address: str
- :ivar location: The geo-location context attached to the ip entity.
- :vartype location: ~azure.mgmt.securityinsight.models.GeoLocation
- :ivar threat_intelligence: A list of TI contexts attached to the ip entity.
- :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ :ivar alerts_count: The number of alerts in the incident.
+ :vartype alerts_count: int
+ :ivar bookmarks_count: The number of bookmarks in the incident.
+ :vartype bookmarks_count: int
+ :ivar comments_count: The number of comments in the incident.
+ :vartype comments_count: int
+ :ivar alert_product_names: List of product names of alerts in the incident.
+ :vartype alert_product_names: list[str]
+ :ivar tactics: The tactics associated with incident.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques associated with incident's tactics.
+ :vartype techniques: list[str]
+ :ivar provider_incident_url: The provider incident url to the incident in Microsoft 365
+ Defender portal.
+ :vartype provider_incident_url: str
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "address": {"readonly": True},
- "location": {"readonly": True},
- "threat_intelligence": {"readonly": True},
+ "alerts_count": {"readonly": True},
+ "bookmarks_count": {"readonly": True},
+ "comments_count": {"readonly": True},
+ "alert_product_names": {"readonly": True},
+ "tactics": {"readonly": True},
+ "techniques": {"readonly": True},
+ "provider_incident_url": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "address": {"key": "properties.address", "type": "str"},
- "location": {"key": "properties.location", "type": "GeoLocation"},
- "threat_intelligence": {"key": "properties.threatIntelligence", "type": "[ThreatIntelligence]"},
+ "alerts_count": {"key": "alertsCount", "type": "int"},
+ "bookmarks_count": {"key": "bookmarksCount", "type": "int"},
+ "comments_count": {"key": "commentsCount", "type": "int"},
+ "alert_product_names": {"key": "alertProductNames", "type": "[str]"},
+ "tactics": {"key": "tactics", "type": "[str]"},
+ "techniques": {"key": "techniques", "type": "[str]"},
+ "provider_incident_url": {"key": "providerIncidentUrl", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
- self.kind: str = "Ip"
- self.additional_data = None
- self.friendly_name = None
- self.address = None
- self.location = None
- self.threat_intelligence = None
+ self.alerts_count = None
+ self.bookmarks_count = None
+ self.comments_count = None
+ self.alert_product_names = None
+ self.tactics = None
+ self.techniques = None
+ self.provider_incident_url = None
-class IpEntityProperties(EntityCommonProperties):
- """Ip entity property bag.
+class IncidentAlertList(_serialization.Model):
+ """List of incident alerts.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar address: The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6).
- :vartype address: str
- :ivar location: The geo-location context attached to the ip entity.
- :vartype location: ~azure.mgmt.securityinsight.models.GeoLocation
- :ivar threat_intelligence: A list of TI contexts attached to the ip entity.
- :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ :ivar value: Array of incident alerts. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.SecurityAlert]
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "address": {"readonly": True},
- "location": {"readonly": True},
- "threat_intelligence": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "address": {"key": "address", "type": "str"},
- "location": {"key": "location", "type": "GeoLocation"},
- "threat_intelligence": {"key": "threatIntelligence", "type": "[ThreatIntelligence]"},
+ "value": {"key": "value", "type": "[SecurityAlert]"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, value: List["_models.SecurityAlert"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of incident alerts. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.SecurityAlert]
+ """
super().__init__(**kwargs)
- self.address = None
- self.location = None
- self.threat_intelligence = None
+ self.value = value
-class MailboxEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a mailbox entity.
+class IncidentBookmarkList(_serialization.Model):
+ """List of incident bookmarks.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of incident bookmarks. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.HuntingBookmark]
+ """
+
+ _validation = {
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[HuntingBookmark]"},
+ }
+
+ def __init__(self, *, value: List["_models.HuntingBookmark"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of incident bookmarks. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.HuntingBookmark]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+
+
+class IncidentComment(ResourceWithEtag):
+ """Represents an incident comment.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -12145,26 +12872,16 @@ class MailboxEntity(Entity): # pylint: disable=too-many-instance-attributes
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar mailbox_primary_address: The mailbox's primary address.
- :vartype mailbox_primary_address: str
- :ivar display_name: The mailbox's display name.
- :vartype display_name: str
- :ivar upn: The mailbox's UPN.
- :vartype upn: str
- :ivar external_directory_object_id: The AzureAD identifier of mailbox. Similar to AadUserId in
- account entity but this property is specific to mailbox object on office side.
- :vartype external_directory_object_id: str
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar message: The comment message.
+ :vartype message: str
+ :ivar created_time_utc: The time the comment was created.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar last_modified_time_utc: The time the comment was updated.
+ :vartype last_modified_time_utc: ~datetime.datetime
+ :ivar author: Describes the client that created the comment.
+ :vartype author: ~azure.mgmt.securityinsight.models.ClientInfo
"""
_validation = {
@@ -12172,13 +12889,9 @@ class MailboxEntity(Entity): # pylint: disable=too-many-instance-attributes
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "mailbox_primary_address": {"readonly": True},
- "display_name": {"readonly": True},
- "upn": {"readonly": True},
- "external_directory_object_id": {"readonly": True},
+ "created_time_utc": {"readonly": True},
+ "last_modified_time_utc": {"readonly": True},
+ "author": {"readonly": True},
}
_attribute_map = {
@@ -12186,725 +12899,5409 @@ class MailboxEntity(Entity): # pylint: disable=too-many-instance-attributes
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "mailbox_primary_address": {"key": "properties.mailboxPrimaryAddress", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "upn": {"key": "properties.upn", "type": "str"},
- "external_directory_object_id": {"key": "properties.externalDirectoryObjectId", "type": "str"},
+ "etag": {"key": "etag", "type": "str"},
+ "message": {"key": "properties.message", "type": "str"},
+ "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ "author": {"key": "properties.author", "type": "ClientInfo"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.kind: str = "Mailbox"
- self.additional_data = None
- self.friendly_name = None
- self.mailbox_primary_address = None
- self.display_name = None
- self.upn = None
- self.external_directory_object_id = None
+ def __init__(self, *, etag: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword message: The comment message.
+ :paramtype message: str
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.message = message
+ self.created_time_utc = None
+ self.last_modified_time_utc = None
+ self.author = None
-class MailboxEntityProperties(EntityCommonProperties):
- """Mailbox entity property bag.
+class IncidentCommentList(_serialization.Model):
+ """IncidentCommentList.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar mailbox_primary_address: The mailbox's primary address.
- :vartype mailbox_primary_address: str
- :ivar display_name: The mailbox's display name.
- :vartype display_name: str
- :ivar upn: The mailbox's UPN.
- :vartype upn: str
- :ivar external_directory_object_id: The AzureAD identifier of mailbox. Similar to AadUserId in
- account entity but this property is specific to mailbox object on office side.
- :vartype external_directory_object_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.IncidentComment]
+ :ivar next_link:
+ :vartype next_link: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "mailbox_primary_address": {"readonly": True},
- "display_name": {"readonly": True},
- "upn": {"readonly": True},
- "external_directory_object_id": {"readonly": True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "mailbox_primary_address": {"key": "mailboxPrimaryAddress", "type": "str"},
- "display_name": {"key": "displayName", "type": "str"},
- "upn": {"key": "upn", "type": "str"},
- "external_directory_object_id": {"key": "externalDirectoryObjectId", "type": "str"},
+ "value": {"key": "value", "type": "[IncidentComment]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, value: List["_models.IncidentComment"], **kwargs: Any) -> None:
+ """
+ :keyword value: Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.IncidentComment]
+ """
super().__init__(**kwargs)
- self.mailbox_primary_address = None
- self.display_name = None
- self.upn = None
- self.external_directory_object_id = None
-
+ self.value = value
+ self.next_link = None
-class MailClusterEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a mail cluster entity.
- Variables are only populated by the server, and will be ignored when sending a request.
+class IncidentConfiguration(_serialization.Model):
+ """Incident Configuration property bag.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar network_message_ids: The mail message IDs that are part of the mail cluster.
- :vartype network_message_ids: list[str]
- :ivar count_by_delivery_status: Count of mail messages by DeliveryStatus string representation.
- :vartype count_by_delivery_status: JSON
- :ivar count_by_threat_type: Count of mail messages by ThreatType string representation.
- :vartype count_by_threat_type: JSON
- :ivar count_by_protection_status: Count of mail messages by ProtectionStatus string
- representation.
- :vartype count_by_protection_status: JSON
- :ivar threats: The threats of mail messages that are part of the mail cluster.
- :vartype threats: list[str]
- :ivar query: The query that was used to identify the messages of the mail cluster.
- :vartype query: str
- :ivar query_time: The query time.
- :vartype query_time: ~datetime.datetime
- :ivar mail_count: The number of mail messages that are part of the mail cluster.
- :vartype mail_count: int
- :ivar is_volume_anomaly: Is this a volume anomaly mail cluster.
- :vartype is_volume_anomaly: bool
- :ivar source: The source of the mail cluster (default is 'O365 ATP').
- :vartype source: str
- :ivar cluster_source_identifier: The id of the cluster source.
- :vartype cluster_source_identifier: str
- :ivar cluster_source_type: The type of the cluster source.
- :vartype cluster_source_type: str
- :ivar cluster_query_start_time: The cluster query start time.
- :vartype cluster_query_start_time: ~datetime.datetime
- :ivar cluster_query_end_time: The cluster query end time.
- :vartype cluster_query_end_time: ~datetime.datetime
- :ivar cluster_group: The cluster group.
- :vartype cluster_group: str
+ :ivar create_incident: Create incidents from alerts triggered by this analytics rule. Required.
+ :vartype create_incident: bool
+ :ivar grouping_configuration: Set how the alerts that are triggered by this analytics rule, are
+ grouped into incidents.
+ :vartype grouping_configuration: ~azure.mgmt.securityinsight.models.GroupingConfiguration
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "network_message_ids": {"readonly": True},
- "count_by_delivery_status": {"readonly": True},
- "count_by_threat_type": {"readonly": True},
- "count_by_protection_status": {"readonly": True},
- "threats": {"readonly": True},
- "query": {"readonly": True},
- "query_time": {"readonly": True},
- "mail_count": {"readonly": True},
- "is_volume_anomaly": {"readonly": True},
- "source": {"readonly": True},
- "cluster_source_identifier": {"readonly": True},
- "cluster_source_type": {"readonly": True},
- "cluster_query_start_time": {"readonly": True},
- "cluster_query_end_time": {"readonly": True},
- "cluster_group": {"readonly": True},
+ "create_incident": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "network_message_ids": {"key": "properties.networkMessageIds", "type": "[str]"},
- "count_by_delivery_status": {"key": "properties.countByDeliveryStatus", "type": "object"},
- "count_by_threat_type": {"key": "properties.countByThreatType", "type": "object"},
- "count_by_protection_status": {"key": "properties.countByProtectionStatus", "type": "object"},
- "threats": {"key": "properties.threats", "type": "[str]"},
- "query": {"key": "properties.query", "type": "str"},
- "query_time": {"key": "properties.queryTime", "type": "iso-8601"},
- "mail_count": {"key": "properties.mailCount", "type": "int"},
- "is_volume_anomaly": {"key": "properties.isVolumeAnomaly", "type": "bool"},
- "source": {"key": "properties.source", "type": "str"},
- "cluster_source_identifier": {"key": "properties.clusterSourceIdentifier", "type": "str"},
- "cluster_source_type": {"key": "properties.clusterSourceType", "type": "str"},
- "cluster_query_start_time": {"key": "properties.clusterQueryStartTime", "type": "iso-8601"},
- "cluster_query_end_time": {"key": "properties.clusterQueryEndTime", "type": "iso-8601"},
- "cluster_group": {"key": "properties.clusterGroup", "type": "str"},
+ "create_incident": {"key": "createIncident", "type": "bool"},
+ "grouping_configuration": {"key": "groupingConfiguration", "type": "GroupingConfiguration"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self,
+ *,
+ create_incident: bool,
+ grouping_configuration: Optional["_models.GroupingConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword create_incident: Create incidents from alerts triggered by this analytics rule.
+ Required.
+ :paramtype create_incident: bool
+ :keyword grouping_configuration: Set how the alerts that are triggered by this analytics rule,
+ are grouped into incidents.
+ :paramtype grouping_configuration: ~azure.mgmt.securityinsight.models.GroupingConfiguration
+ """
super().__init__(**kwargs)
- self.kind: str = "MailCluster"
- self.additional_data = None
- self.friendly_name = None
- self.network_message_ids = None
- self.count_by_delivery_status = None
- self.count_by_threat_type = None
- self.count_by_protection_status = None
- self.threats = None
- self.query = None
- self.query_time = None
- self.mail_count = None
- self.is_volume_anomaly = None
- self.source = None
- self.cluster_source_identifier = None
- self.cluster_source_type = None
- self.cluster_query_start_time = None
- self.cluster_query_end_time = None
- self.cluster_group = None
-
+ self.create_incident = create_incident
+ self.grouping_configuration = grouping_configuration
-class MailClusterEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Mail cluster entity property bag.
- Variables are only populated by the server, and will be ignored when sending a request.
+class IncidentEntitiesResponse(_serialization.Model):
+ """The incident related entities response.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar network_message_ids: The mail message IDs that are part of the mail cluster.
- :vartype network_message_ids: list[str]
- :ivar count_by_delivery_status: Count of mail messages by DeliveryStatus string representation.
- :vartype count_by_delivery_status: JSON
- :ivar count_by_threat_type: Count of mail messages by ThreatType string representation.
- :vartype count_by_threat_type: JSON
- :ivar count_by_protection_status: Count of mail messages by ProtectionStatus string
- representation.
- :vartype count_by_protection_status: JSON
- :ivar threats: The threats of mail messages that are part of the mail cluster.
- :vartype threats: list[str]
- :ivar query: The query that was used to identify the messages of the mail cluster.
- :vartype query: str
- :ivar query_time: The query time.
- :vartype query_time: ~datetime.datetime
- :ivar mail_count: The number of mail messages that are part of the mail cluster.
- :vartype mail_count: int
- :ivar is_volume_anomaly: Is this a volume anomaly mail cluster.
- :vartype is_volume_anomaly: bool
- :ivar source: The source of the mail cluster (default is 'O365 ATP').
- :vartype source: str
- :ivar cluster_source_identifier: The id of the cluster source.
- :vartype cluster_source_identifier: str
- :ivar cluster_source_type: The type of the cluster source.
- :vartype cluster_source_type: str
- :ivar cluster_query_start_time: The cluster query start time.
- :vartype cluster_query_start_time: ~datetime.datetime
- :ivar cluster_query_end_time: The cluster query end time.
- :vartype cluster_query_end_time: ~datetime.datetime
- :ivar cluster_group: The cluster group.
- :vartype cluster_group: str
+ :ivar entities: Array of the incident related entities.
+ :vartype entities: list[~azure.mgmt.securityinsight.models.Entity]
+ :ivar meta_data: The metadata from the incident related entities results.
+ :vartype meta_data: list[~azure.mgmt.securityinsight.models.IncidentEntitiesResultsMetadata]
"""
- _validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "network_message_ids": {"readonly": True},
- "count_by_delivery_status": {"readonly": True},
- "count_by_threat_type": {"readonly": True},
- "count_by_protection_status": {"readonly": True},
- "threats": {"readonly": True},
- "query": {"readonly": True},
- "query_time": {"readonly": True},
- "mail_count": {"readonly": True},
- "is_volume_anomaly": {"readonly": True},
- "source": {"readonly": True},
- "cluster_source_identifier": {"readonly": True},
- "cluster_source_type": {"readonly": True},
- "cluster_query_start_time": {"readonly": True},
- "cluster_query_end_time": {"readonly": True},
- "cluster_group": {"readonly": True},
- }
-
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "network_message_ids": {"key": "networkMessageIds", "type": "[str]"},
- "count_by_delivery_status": {"key": "countByDeliveryStatus", "type": "object"},
- "count_by_threat_type": {"key": "countByThreatType", "type": "object"},
- "count_by_protection_status": {"key": "countByProtectionStatus", "type": "object"},
- "threats": {"key": "threats", "type": "[str]"},
- "query": {"key": "query", "type": "str"},
- "query_time": {"key": "queryTime", "type": "iso-8601"},
- "mail_count": {"key": "mailCount", "type": "int"},
- "is_volume_anomaly": {"key": "isVolumeAnomaly", "type": "bool"},
- "source": {"key": "source", "type": "str"},
- "cluster_source_identifier": {"key": "clusterSourceIdentifier", "type": "str"},
- "cluster_source_type": {"key": "clusterSourceType", "type": "str"},
- "cluster_query_start_time": {"key": "clusterQueryStartTime", "type": "iso-8601"},
- "cluster_query_end_time": {"key": "clusterQueryEndTime", "type": "iso-8601"},
- "cluster_group": {"key": "clusterGroup", "type": "str"},
+ "entities": {"key": "entities", "type": "[Entity]"},
+ "meta_data": {"key": "metaData", "type": "[IncidentEntitiesResultsMetadata]"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self,
+ *,
+ entities: Optional[List["_models.Entity"]] = None,
+ meta_data: Optional[List["_models.IncidentEntitiesResultsMetadata"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword entities: Array of the incident related entities.
+ :paramtype entities: list[~azure.mgmt.securityinsight.models.Entity]
+ :keyword meta_data: The metadata from the incident related entities results.
+ :paramtype meta_data: list[~azure.mgmt.securityinsight.models.IncidentEntitiesResultsMetadata]
+ """
super().__init__(**kwargs)
- self.network_message_ids = None
- self.count_by_delivery_status = None
- self.count_by_threat_type = None
- self.count_by_protection_status = None
- self.threats = None
- self.query = None
- self.query_time = None
- self.mail_count = None
- self.is_volume_anomaly = None
- self.source = None
- self.cluster_source_identifier = None
- self.cluster_source_type = None
- self.cluster_query_start_time = None
- self.cluster_query_end_time = None
- self.cluster_group = None
-
+ self.entities = entities
+ self.meta_data = meta_data
-class MailMessageEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a mail message entity.
- Variables are only populated by the server, and will be ignored when sending a request.
+class IncidentEntitiesResultsMetadata(_serialization.Model):
+ """Information of a specific aggregation in the incident related entities result.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar file_entity_ids: The File entity ids of this mail message's attachments.
- :vartype file_entity_ids: list[str]
- :ivar recipient: The recipient of this mail message. Note that in case of multiple recipients
- the mail message is forked and each copy has one recipient.
- :vartype recipient: str
- :ivar urls: The Urls contained in this mail message.
- :vartype urls: list[str]
- :ivar threats: The threats of this mail message.
- :vartype threats: list[str]
- :ivar p1_sender: The p1 sender's email address.
- :vartype p1_sender: str
- :ivar p1_sender_display_name: The p1 sender's display name.
- :vartype p1_sender_display_name: str
- :ivar p1_sender_domain: The p1 sender's domain.
- :vartype p1_sender_domain: str
- :ivar sender_ip: The sender's IP address.
- :vartype sender_ip: str
- :ivar p2_sender: The p2 sender's email address.
- :vartype p2_sender: str
- :ivar p2_sender_display_name: The p2 sender's display name.
- :vartype p2_sender_display_name: str
- :ivar p2_sender_domain: The p2 sender's domain.
- :vartype p2_sender_domain: str
- :ivar receive_date: The receive date of this message.
- :vartype receive_date: ~datetime.datetime
- :ivar network_message_id: The network message id of this mail message.
- :vartype network_message_id: str
- :ivar internet_message_id: The internet message id of this mail message.
- :vartype internet_message_id: str
- :ivar subject: The subject of this mail message.
- :vartype subject: str
- :ivar language: The language of this mail message.
- :vartype language: str
- :ivar threat_detection_methods: The threat detection methods.
- :vartype threat_detection_methods: list[str]
- :ivar body_fingerprint_bin1: The bodyFingerprintBin1.
- :vartype body_fingerprint_bin1: int
- :ivar body_fingerprint_bin2: The bodyFingerprintBin2.
- :vartype body_fingerprint_bin2: int
- :ivar body_fingerprint_bin3: The bodyFingerprintBin3.
- :vartype body_fingerprint_bin3: int
- :ivar body_fingerprint_bin4: The bodyFingerprintBin4.
- :vartype body_fingerprint_bin4: int
- :ivar body_fingerprint_bin5: The bodyFingerprintBin5.
- :vartype body_fingerprint_bin5: int
- :ivar antispam_direction: The directionality of this mail message. Known values are: "Unknown",
- "Inbound", "Outbound", and "Intraorg".
- :vartype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
- :ivar delivery_action: The delivery action of this mail message like Delivered, Blocked,
- Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
- "Replaced".
- :vartype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
- :ivar delivery_location: The delivery location of this mail message like Inbox, JunkFolder etc.
- Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine", "External",
- "Failed", "Dropped", and "Forwarded".
- :vartype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ :ivar entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
+ "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
+ "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
+ "Nic".
+ :vartype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar count: Total number of aggregations of the given kind in the incident related entities
+ result. Required.
+ :vartype count: int
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "file_entity_ids": {"readonly": True},
- "recipient": {"readonly": True},
- "urls": {"readonly": True},
- "threats": {"readonly": True},
- "p1_sender": {"readonly": True},
- "p1_sender_display_name": {"readonly": True},
- "p1_sender_domain": {"readonly": True},
- "sender_ip": {"readonly": True},
- "p2_sender": {"readonly": True},
- "p2_sender_display_name": {"readonly": True},
- "p2_sender_domain": {"readonly": True},
- "receive_date": {"readonly": True},
- "network_message_id": {"readonly": True},
- "internet_message_id": {"readonly": True},
- "subject": {"readonly": True},
- "language": {"readonly": True},
- "threat_detection_methods": {"readonly": True},
+ "entity_kind": {"required": True},
+ "count": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "file_entity_ids": {"key": "properties.fileEntityIds", "type": "[str]"},
- "recipient": {"key": "properties.recipient", "type": "str"},
- "urls": {"key": "properties.urls", "type": "[str]"},
- "threats": {"key": "properties.threats", "type": "[str]"},
- "p1_sender": {"key": "properties.p1Sender", "type": "str"},
- "p1_sender_display_name": {"key": "properties.p1SenderDisplayName", "type": "str"},
- "p1_sender_domain": {"key": "properties.p1SenderDomain", "type": "str"},
- "sender_ip": {"key": "properties.senderIP", "type": "str"},
- "p2_sender": {"key": "properties.p2Sender", "type": "str"},
- "p2_sender_display_name": {"key": "properties.p2SenderDisplayName", "type": "str"},
- "p2_sender_domain": {"key": "properties.p2SenderDomain", "type": "str"},
- "receive_date": {"key": "properties.receiveDate", "type": "iso-8601"},
- "network_message_id": {"key": "properties.networkMessageId", "type": "str"},
- "internet_message_id": {"key": "properties.internetMessageId", "type": "str"},
- "subject": {"key": "properties.subject", "type": "str"},
- "language": {"key": "properties.language", "type": "str"},
- "threat_detection_methods": {"key": "properties.threatDetectionMethods", "type": "[str]"},
- "body_fingerprint_bin1": {"key": "properties.bodyFingerprintBin1", "type": "int"},
- "body_fingerprint_bin2": {"key": "properties.bodyFingerprintBin2", "type": "int"},
- "body_fingerprint_bin3": {"key": "properties.bodyFingerprintBin3", "type": "int"},
- "body_fingerprint_bin4": {"key": "properties.bodyFingerprintBin4", "type": "int"},
- "body_fingerprint_bin5": {"key": "properties.bodyFingerprintBin5", "type": "int"},
- "antispam_direction": {"key": "properties.antispamDirection", "type": "str"},
- "delivery_action": {"key": "properties.deliveryAction", "type": "str"},
- "delivery_location": {"key": "properties.deliveryLocation", "type": "str"},
+ "entity_kind": {"key": "entityKind", "type": "str"},
+ "count": {"key": "count", "type": "int"},
+ }
+
+ def __init__(self, *, entity_kind: Union[str, "_models.EntityKindEnum"], count: int, **kwargs: Any) -> None:
+ """
+ :keyword entity_kind: The kind of the aggregated entity. Required. Known values are: "Account",
+ "Host", "File", "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip",
+ "Malware", "Process", "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice",
+ "SecurityAlert", "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and
+ "Nic".
+ :paramtype entity_kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :keyword count: Total number of aggregations of the given kind in the incident related entities
+ result. Required.
+ :paramtype count: int
+ """
+ super().__init__(**kwargs)
+ self.entity_kind = entity_kind
+ self.count = count
+
+
+class IncidentInfo(_serialization.Model):
+ """Describes related incident information for the bookmark.
+
+ :ivar incident_id: Incident Id.
+ :vartype incident_id: str
+ :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :ivar title: The title of the incident.
+ :vartype title: str
+ :ivar relation_name: Relation Name.
+ :vartype relation_name: str
+ """
+
+ _attribute_map = {
+ "incident_id": {"key": "incidentId", "type": "str"},
+ "severity": {"key": "severity", "type": "str"},
+ "title": {"key": "title", "type": "str"},
+ "relation_name": {"key": "relationName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ incident_id: Optional[str] = None,
+ severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
+ title: Optional[str] = None,
+ relation_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword incident_id: Incident Id.
+ :paramtype incident_id: str
+ :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :keyword title: The title of the incident.
+ :paramtype title: str
+ :keyword relation_name: Relation Name.
+ :paramtype relation_name: str
+ """
+ super().__init__(**kwargs)
+ self.incident_id = incident_id
+ self.severity = severity
+ self.title = title
+ self.relation_name = relation_name
+
+
+class IncidentLabel(_serialization.Model):
+ """Represents an incident label.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar label_name: The name of the label. Required.
+ :vartype label_name: str
+ :ivar label_type: The type of the label. Known values are: "User" and "AutoAssigned".
+ :vartype label_type: str or ~azure.mgmt.securityinsight.models.IncidentLabelType
+ """
+
+ _validation = {
+ "label_name": {"required": True},
+ "label_type": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "label_name": {"key": "labelName", "type": "str"},
+ "label_type": {"key": "labelType", "type": "str"},
+ }
+
+ def __init__(self, *, label_name: str, **kwargs: Any) -> None:
+ """
+ :keyword label_name: The name of the label. Required.
+ :paramtype label_name: str
+ """
+ super().__init__(**kwargs)
+ self.label_name = label_name
+ self.label_type = None
+
+
+class IncidentList(_serialization.Model):
+ """List all the incidents.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Incident]
+ :ivar next_link: URL to fetch the next set of incidents.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[Incident]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.Incident"], **kwargs: Any) -> None:
+ """
+ :keyword value: Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Incident]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class IncidentOwnerInfo(_serialization.Model):
+ """Information on the user an incident is assigned to.
+
+ :ivar email: The email of the user the incident is assigned to.
+ :vartype email: str
+ :ivar assigned_to: The name of the user the incident is assigned to.
+ :vartype assigned_to: str
+ :ivar object_id: The object id of the user the incident is assigned to.
+ :vartype object_id: str
+ :ivar user_principal_name: The user principal name of the user the incident is assigned to.
+ :vartype user_principal_name: str
+ :ivar owner_type: The type of the owner the incident is assigned to. Known values are:
+ "Unknown", "User", and "Group".
+ :vartype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ """
+
+ _attribute_map = {
+ "email": {"key": "email", "type": "str"},
+ "assigned_to": {"key": "assignedTo", "type": "str"},
+ "object_id": {"key": "objectId", "type": "str"},
+ "user_principal_name": {"key": "userPrincipalName", "type": "str"},
+ "owner_type": {"key": "ownerType", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ email: Optional[str] = None,
+ assigned_to: Optional[str] = None,
+ object_id: Optional[str] = None,
+ user_principal_name: Optional[str] = None,
+ owner_type: Optional[Union[str, "_models.OwnerType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword email: The email of the user the incident is assigned to.
+ :paramtype email: str
+ :keyword assigned_to: The name of the user the incident is assigned to.
+ :paramtype assigned_to: str
+ :keyword object_id: The object id of the user the incident is assigned to.
+ :paramtype object_id: str
+ :keyword user_principal_name: The user principal name of the user the incident is assigned to.
+ :paramtype user_principal_name: str
+ :keyword owner_type: The type of the owner the incident is assigned to. Known values are:
+ "Unknown", "User", and "Group".
+ :paramtype owner_type: str or ~azure.mgmt.securityinsight.models.OwnerType
+ """
+ super().__init__(**kwargs)
+ self.email = email
+ self.assigned_to = assigned_to
+ self.object_id = object_id
+ self.user_principal_name = user_principal_name
+ self.owner_type = owner_type
+
+
+class IncidentPropertiesAction(_serialization.Model):
+ """IncidentPropertiesAction.
+
+ :ivar severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :ivar status: The status of the incident. Known values are: "New", "Active", and "Closed".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
+ :ivar classification: The reason the incident was closed. Known values are: "Undetermined",
+ "TruePositive", "BenignPositive", and "FalsePositive".
+ :vartype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
+ :ivar classification_reason: The classification reason the incident was closed with. Known
+ values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
+ "InaccurateData".
+ :vartype classification_reason: str or
+ ~azure.mgmt.securityinsight.models.IncidentClassificationReason
+ :ivar classification_comment: Describes the reason the incident was closed.
+ :vartype classification_comment: str
+ :ivar owner: Information on the user an incident is assigned to.
+ :vartype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
+ :ivar labels: List of labels to add to the incident.
+ :vartype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ """
+
+ _attribute_map = {
+ "severity": {"key": "severity", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "classification": {"key": "classification", "type": "str"},
+ "classification_reason": {"key": "classificationReason", "type": "str"},
+ "classification_comment": {"key": "classificationComment", "type": "str"},
+ "owner": {"key": "owner", "type": "IncidentOwnerInfo"},
+ "labels": {"key": "labels", "type": "[IncidentLabel]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ severity: Optional[Union[str, "_models.IncidentSeverity"]] = None,
+ status: Optional[Union[str, "_models.IncidentStatus"]] = None,
+ classification: Optional[Union[str, "_models.IncidentClassification"]] = None,
+ classification_reason: Optional[Union[str, "_models.IncidentClassificationReason"]] = None,
+ classification_comment: Optional[str] = None,
+ owner: Optional["_models.IncidentOwnerInfo"] = None,
+ labels: Optional[List["_models.IncidentLabel"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword severity: The severity of the incident. Known values are: "High", "Medium", "Low", and
+ "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.IncidentSeverity
+ :keyword status: The status of the incident. Known values are: "New", "Active", and "Closed".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentStatus
+ :keyword classification: The reason the incident was closed. Known values are: "Undetermined",
+ "TruePositive", "BenignPositive", and "FalsePositive".
+ :paramtype classification: str or ~azure.mgmt.securityinsight.models.IncidentClassification
+ :keyword classification_reason: The classification reason the incident was closed with. Known
+ values are: "SuspiciousActivity", "SuspiciousButExpected", "IncorrectAlertLogic", and
+ "InaccurateData".
+ :paramtype classification_reason: str or
+ ~azure.mgmt.securityinsight.models.IncidentClassificationReason
+ :keyword classification_comment: Describes the reason the incident was closed.
+ :paramtype classification_comment: str
+ :keyword owner: Information on the user an incident is assigned to.
+ :paramtype owner: ~azure.mgmt.securityinsight.models.IncidentOwnerInfo
+ :keyword labels: List of labels to add to the incident.
+ :paramtype labels: list[~azure.mgmt.securityinsight.models.IncidentLabel]
+ """
+ super().__init__(**kwargs)
+ self.severity = severity
+ self.status = status
+ self.classification = classification
+ self.classification_reason = classification_reason
+ self.classification_comment = classification_comment
+ self.owner = owner
+ self.labels = labels
+
+
+class IncidentTask(ResourceWithEtag):
+ """IncidentTask.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar title: The title of the task. Required.
+ :vartype title: str
+ :ivar description: The description of the task.
+ :vartype description: str
+ :ivar status: Required. Known values are: "New" and "Completed".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.IncidentTaskStatus
+ :ivar created_time_utc: The time the task was created.
+ :vartype created_time_utc: ~datetime.datetime
+ :ivar last_modified_time_utc: The last time the task was updated.
+ :vartype last_modified_time_utc: ~datetime.datetime
+ :ivar created_by: Information on the client (user or application) that made some action.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ :ivar last_modified_by: Information on the client (user or application) that made some action.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "title": {"required": True},
+ "status": {"required": True},
+ "created_time_utc": {"readonly": True},
+ "last_modified_time_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "title": {"key": "properties.title", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "status": {"key": "properties.status", "type": "str"},
+ "created_time_utc": {"key": "properties.createdTimeUtc", "type": "iso-8601"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ "created_by": {"key": "properties.createdBy", "type": "ClientInfo"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "ClientInfo"},
+ }
+
+ def __init__(
+ self,
+ *,
+ title: str,
+ status: Union[str, "_models.IncidentTaskStatus"],
+ etag: Optional[str] = None,
+ description: Optional[str] = None,
+ created_by: Optional["_models.ClientInfo"] = None,
+ last_modified_by: Optional["_models.ClientInfo"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword title: The title of the task. Required.
+ :paramtype title: str
+ :keyword description: The description of the task.
+ :paramtype description: str
+ :keyword status: Required. Known values are: "New" and "Completed".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.IncidentTaskStatus
+ :keyword created_by: Information on the client (user or application) that made some action.
+ :paramtype created_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ :keyword last_modified_by: Information on the client (user or application) that made some
+ action.
+ :paramtype last_modified_by: ~azure.mgmt.securityinsight.models.ClientInfo
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.title = title
+ self.description = description
+ self.status = status
+ self.created_time_utc = None
+ self.last_modified_time_utc = None
+ self.created_by = created_by
+ self.last_modified_by = last_modified_by
+
+
+class IncidentTaskList(_serialization.Model):
+ """IncidentTaskList.
+
+ :ivar value:
+ :vartype value: list[~azure.mgmt.securityinsight.models.IncidentTask]
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[IncidentTask]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(
+ self, *, value: Optional[List["_models.IncidentTask"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.securityinsight.models.IncidentTask]
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
+
+
+class Indicator(TIObject):
+ """Represents an indicator in Azure Security Insights.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
+ :vartype source: str
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
+ :ivar observables: The observables of this indicator.
+ :vartype observables: list[~azure.mgmt.securityinsight.models.IndicatorObservablesItem]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "data": {"readonly": True},
+ "created_by": {"readonly": True},
+ "source": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "source": {"key": "properties.source", "type": "str"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
+ "observables": {"key": "observables", "type": "[IndicatorObservablesItem]"},
+ }
+
+ def __init__(
+ self, *, observables: Optional[List["_models.IndicatorObservablesItem"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword observables: The observables of this indicator.
+ :paramtype observables: list[~azure.mgmt.securityinsight.models.IndicatorObservablesItem]
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "Indicator"
+ self.observables = observables
+
+
+class IndicatorObservablesItem(_serialization.Model):
+ """An observable of this indicator.
+
+ :ivar type: The type of the observable of this indicator.
+ :vartype type: str
+ :ivar value: The value of the observable of this indicator.
+ :vartype value: str
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ }
+
+ def __init__(self, *, type: Optional[str] = None, value: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword type: The type of the observable of this indicator.
+ :paramtype type: str
+ :keyword value: The value of the observable of this indicator.
+ :paramtype value: str
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.value = value
+
+
+class InsightQueryItem(EntityQueryItem):
+ """Represents Insight Query.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Query Template ARM ID.
+ :vartype id: str
+ :ivar name: Query Template ARM Name.
+ :vartype name: str
+ :ivar type: ARM Type.
+ :vartype type: str
+ :ivar kind: The kind of the entity query. Required. Known values are: "Expansion", "Insight",
+ and "Activity".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityQueryKind
+ :ivar properties: Properties bag for InsightQueryItem.
+ :vartype properties: ~azure.mgmt.securityinsight.models.InsightQueryItemProperties
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "properties": {"key": "properties", "type": "InsightQueryItemProperties"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ type: Optional[str] = None,
+ properties: Optional["_models.InsightQueryItemProperties"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Query Template ARM Name.
+ :paramtype name: str
+ :keyword type: ARM Type.
+ :paramtype type: str
+ :keyword properties: Properties bag for InsightQueryItem.
+ :paramtype properties: ~azure.mgmt.securityinsight.models.InsightQueryItemProperties
+ """
+ super().__init__(name=name, type=type, **kwargs)
+ self.kind: str = "Insight"
+ self.properties = properties
+
+
+class InsightQueryItemProperties(EntityQueryItemProperties):
+ """Represents Insight Query.
+
+ :ivar data_types: Data types for template.
+ :vartype data_types:
+ list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
+ :ivar input_entity_type: The type of the entity. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
+ "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :ivar required_input_fields_sets: Data types for template.
+ :vartype required_input_fields_sets: list[list[str]]
+ :ivar entities_filter: The query applied only to entities matching to all filters.
+ :vartype entities_filter: JSON
+ :ivar display_name: The insight display name.
+ :vartype display_name: str
+ :ivar description: The insight description.
+ :vartype description: str
+ :ivar base_query: The base query of the insight.
+ :vartype base_query: str
+ :ivar table_query: The insight table query.
+ :vartype table_query: ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQuery
+ :ivar chart_query: The insight chart query.
+ :vartype chart_query: JSON
+ :ivar additional_query: The activity query definitions.
+ :vartype additional_query:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesAdditionalQuery
+ :ivar default_time_range: The insight chart query.
+ :vartype default_time_range:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesDefaultTimeRange
+ :ivar reference_time_range: The insight chart query.
+ :vartype reference_time_range:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesReferenceTimeRange
+ """
+
+ _attribute_map = {
+ "data_types": {"key": "dataTypes", "type": "[EntityQueryItemPropertiesDataTypesItem]"},
+ "input_entity_type": {"key": "inputEntityType", "type": "str"},
+ "required_input_fields_sets": {"key": "requiredInputFieldsSets", "type": "[[str]]"},
+ "entities_filter": {"key": "entitiesFilter", "type": "object"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "base_query": {"key": "baseQuery", "type": "str"},
+ "table_query": {"key": "tableQuery", "type": "InsightQueryItemPropertiesTableQuery"},
+ "chart_query": {"key": "chartQuery", "type": "object"},
+ "additional_query": {"key": "additionalQuery", "type": "InsightQueryItemPropertiesAdditionalQuery"},
+ "default_time_range": {"key": "defaultTimeRange", "type": "InsightQueryItemPropertiesDefaultTimeRange"},
+ "reference_time_range": {"key": "referenceTimeRange", "type": "InsightQueryItemPropertiesReferenceTimeRange"},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_types: Optional[List["_models.EntityQueryItemPropertiesDataTypesItem"]] = None,
+ input_entity_type: Optional[Union[str, "_models.EntityType"]] = None,
+ required_input_fields_sets: Optional[List[List[str]]] = None,
+ entities_filter: Optional[JSON] = None,
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ base_query: Optional[str] = None,
+ table_query: Optional["_models.InsightQueryItemPropertiesTableQuery"] = None,
+ chart_query: Optional[JSON] = None,
+ additional_query: Optional["_models.InsightQueryItemPropertiesAdditionalQuery"] = None,
+ default_time_range: Optional["_models.InsightQueryItemPropertiesDefaultTimeRange"] = None,
+ reference_time_range: Optional["_models.InsightQueryItemPropertiesReferenceTimeRange"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword data_types: Data types for template.
+ :paramtype data_types:
+ list[~azure.mgmt.securityinsight.models.EntityQueryItemPropertiesDataTypesItem]
+ :keyword input_entity_type: The type of the entity. Known values are: "Account", "Host",
+ "File", "AzureResource", "CloudApplication", "DNS", "FileHash", "IP", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "URL", "IoTDevice", "SecurityAlert",
+ "HuntingBookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :paramtype input_entity_type: str or ~azure.mgmt.securityinsight.models.EntityType
+ :keyword required_input_fields_sets: Data types for template.
+ :paramtype required_input_fields_sets: list[list[str]]
+ :keyword entities_filter: The query applied only to entities matching to all filters.
+ :paramtype entities_filter: JSON
+ :keyword display_name: The insight display name.
+ :paramtype display_name: str
+ :keyword description: The insight description.
+ :paramtype description: str
+ :keyword base_query: The base query of the insight.
+ :paramtype base_query: str
+ :keyword table_query: The insight table query.
+ :paramtype table_query: ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQuery
+ :keyword chart_query: The insight chart query.
+ :paramtype chart_query: JSON
+ :keyword additional_query: The activity query definitions.
+ :paramtype additional_query:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesAdditionalQuery
+ :keyword default_time_range: The insight chart query.
+ :paramtype default_time_range:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesDefaultTimeRange
+ :keyword reference_time_range: The insight chart query.
+ :paramtype reference_time_range:
+ ~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesReferenceTimeRange
+ """
+ super().__init__(
+ data_types=data_types,
+ input_entity_type=input_entity_type,
+ required_input_fields_sets=required_input_fields_sets,
+ entities_filter=entities_filter,
+ **kwargs
+ )
+ self.display_name = display_name
+ self.description = description
+ self.base_query = base_query
+ self.table_query = table_query
+ self.chart_query = chart_query
+ self.additional_query = additional_query
+ self.default_time_range = default_time_range
+ self.reference_time_range = reference_time_range
+
+
+class InsightQueryItemPropertiesAdditionalQuery(_serialization.Model): # pylint: disable=name-too-long
+ """The activity query definitions.
+
+ :ivar query: The insight query.
+ :vartype query: str
+ :ivar text: The insight text.
+ :vartype text: str
+ """
+
+ _attribute_map = {
+ "query": {"key": "query", "type": "str"},
+ "text": {"key": "text", "type": "str"},
+ }
+
+ def __init__(self, *, query: Optional[str] = None, text: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword query: The insight query.
+ :paramtype query: str
+ :keyword text: The insight text.
+ :paramtype text: str
+ """
+ super().__init__(**kwargs)
+ self.query = query
+ self.text = text
+
+
+class InsightQueryItemPropertiesDefaultTimeRange(_serialization.Model): # pylint: disable=name-too-long
+ """The insight chart query.
+
+ :ivar before_range: The padding for the start time of the query.
+ :vartype before_range: str
+ :ivar after_range: The padding for the end time of the query.
+ :vartype after_range: str
+ """
+
+ _attribute_map = {
+ "before_range": {"key": "beforeRange", "type": "str"},
+ "after_range": {"key": "afterRange", "type": "str"},
+ }
+
+ def __init__(self, *, before_range: Optional[str] = None, after_range: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword before_range: The padding for the start time of the query.
+ :paramtype before_range: str
+ :keyword after_range: The padding for the end time of the query.
+ :paramtype after_range: str
+ """
+ super().__init__(**kwargs)
+ self.before_range = before_range
+ self.after_range = after_range
+
+
+class InsightQueryItemPropertiesReferenceTimeRange(_serialization.Model): # pylint: disable=name-too-long
+ """The insight chart query.
+
+ :ivar before_range: Additional query time for looking back.
+ :vartype before_range: str
+ """
+
+ _attribute_map = {
+ "before_range": {"key": "beforeRange", "type": "str"},
+ }
+
+ def __init__(self, *, before_range: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword before_range: Additional query time for looking back.
+ :paramtype before_range: str
+ """
+ super().__init__(**kwargs)
+ self.before_range = before_range
+
+
+class InsightQueryItemPropertiesTableQuery(_serialization.Model):
+ """The insight table query.
+
+ :ivar columns_definitions: List of insight column definitions.
+ :vartype columns_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]
+ :ivar queries_definitions: List of insight queries definitions.
+ :vartype queries_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]
+ """
+
+ _attribute_map = {
+ "columns_definitions": {
+ "key": "columnsDefinitions",
+ "type": "[InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]",
+ },
+ "queries_definitions": {
+ "key": "queriesDefinitions",
+ "type": "[InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ columns_definitions: Optional[
+ List["_models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem"]
+ ] = None,
+ queries_definitions: Optional[
+ List["_models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem"]
+ ] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword columns_definitions: List of insight column definitions.
+ :paramtype columns_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem]
+ :keyword queries_definitions: List of insight queries definitions.
+ :paramtype queries_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem]
+ """
+ super().__init__(**kwargs)
+ self.columns_definitions = columns_definitions
+ self.queries_definitions = queries_definitions
+
+
+class InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem(_serialization.Model): # pylint: disable=name-too-long
+ """InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem.
+
+ :ivar header: Insight column header.
+ :vartype header: str
+ :ivar output_type: Insights Column type. Known values are: "Number", "String", "Date", and
+ "Entity".
+ :vartype output_type: str or ~azure.mgmt.securityinsight.models.OutputType
+ :ivar support_deep_link: Is query supports deep-link.
+ :vartype support_deep_link: bool
+ """
+
+ _attribute_map = {
+ "header": {"key": "header", "type": "str"},
+ "output_type": {"key": "outputType", "type": "str"},
+ "support_deep_link": {"key": "supportDeepLink", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ header: Optional[str] = None,
+ output_type: Optional[Union[str, "_models.OutputType"]] = None,
+ support_deep_link: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword header: Insight column header.
+ :paramtype header: str
+ :keyword output_type: Insights Column type. Known values are: "Number", "String", "Date", and
+ "Entity".
+ :paramtype output_type: str or ~azure.mgmt.securityinsight.models.OutputType
+ :keyword support_deep_link: Is query supports deep-link.
+ :paramtype support_deep_link: bool
+ """
+ super().__init__(**kwargs)
+ self.header = header
+ self.output_type = output_type
+ self.support_deep_link = support_deep_link
+
+
+class InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem(_serialization.Model): # pylint: disable=name-too-long
+ """InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem.
+
+ :ivar filter: Insight column header.
+ :vartype filter: str
+ :ivar summarize: Insight column header.
+ :vartype summarize: str
+ :ivar project: Insight column header.
+ :vartype project: str
+ :ivar link_columns_definitions: Insight column header.
+ :vartype link_columns_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem]
+ """
+
+ _attribute_map = {
+ "filter": {"key": "filter", "type": "str"},
+ "summarize": {"key": "summarize", "type": "str"},
+ "project": {"key": "project", "type": "str"},
+ "link_columns_definitions": {
+ "key": "linkColumnsDefinitions",
+ "type": "[InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem]",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ filter: Optional[str] = None, # pylint: disable=redefined-builtin
+ summarize: Optional[str] = None,
+ project: Optional[str] = None,
+ link_columns_definitions: Optional[
+ List["_models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem"]
+ ] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword filter: Insight column header.
+ :paramtype filter: str
+ :keyword summarize: Insight column header.
+ :paramtype summarize: str
+ :keyword project: Insight column header.
+ :paramtype project: str
+ :keyword link_columns_definitions: Insight column header.
+ :paramtype link_columns_definitions:
+ list[~azure.mgmt.securityinsight.models.InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem] # pylint: disable=line-too-long
+ """
+ super().__init__(**kwargs)
+ self.filter = filter
+ self.summarize = summarize
+ self.project = project
+ self.link_columns_definitions = link_columns_definitions
+
+
+class InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem(
+ _serialization.Model
+): # pylint: disable=name-too-long
+ """InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem.
+
+ :ivar projected_name: Insight Link Definition Projected Name.
+ :vartype projected_name: str
+ :ivar query: Insight Link Definition Query.
+ :vartype query: str
+ """
+
+ _attribute_map = {
+ "projected_name": {"key": "projectedName", "type": "str"},
+ "query": {"key": "Query", "type": "str"},
+ }
+
+ def __init__(self, *, projected_name: Optional[str] = None, query: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword projected_name: Insight Link Definition Projected Name.
+ :paramtype projected_name: str
+ :keyword query: Insight Link Definition Query.
+ :paramtype query: str
+ """
+ super().__init__(**kwargs)
+ self.projected_name = projected_name
+ self.query = query
+
+
+class InsightsTableResult(_serialization.Model):
+ """Query results for table insights query.
+
+ :ivar columns: Columns Metadata of the table.
+ :vartype columns: list[~azure.mgmt.securityinsight.models.InsightsTableResultColumnsItem]
+ :ivar rows: Rows data of the table.
+ :vartype rows: list[list[str]]
+ """
+
+ _attribute_map = {
+ "columns": {"key": "columns", "type": "[InsightsTableResultColumnsItem]"},
+ "rows": {"key": "rows", "type": "[[str]]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ columns: Optional[List["_models.InsightsTableResultColumnsItem"]] = None,
+ rows: Optional[List[List[str]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword columns: Columns Metadata of the table.
+ :paramtype columns: list[~azure.mgmt.securityinsight.models.InsightsTableResultColumnsItem]
+ :keyword rows: Rows data of the table.
+ :paramtype rows: list[list[str]]
+ """
+ super().__init__(**kwargs)
+ self.columns = columns
+ self.rows = rows
+
+
+class InsightsTableResultColumnsItem(_serialization.Model):
+ """InsightsTableResultColumnsItem.
+
+ :ivar type: the type of the colum.
+ :vartype type: str
+ :ivar name: the name of the colum.
+ :vartype name: str
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, *, type: Optional[str] = None, name: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword type: the type of the colum.
+ :paramtype type: str
+ :keyword name: the name of the colum.
+ :paramtype name: str
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.name = name
+
+
+class InstructionStep(_serialization.Model):
+ """Instruction steps to enable the connector.
+
+ :ivar title: Gets or sets the instruction step title.
+ :vartype title: str
+ :ivar description: Gets or sets the instruction step description.
+ :vartype description: str
+ :ivar instructions: Gets or sets the instruction step details.
+ :vartype instructions: list[~azure.mgmt.securityinsight.models.InstructionStepDetails]
+ :ivar inner_steps: Gets or sets the inner instruction steps details.
+ For Example: instruction step 1 might contain inner instruction steps: [instruction step 1.1,
+ instruction step 1.2].
+ :vartype inner_steps: list[~azure.mgmt.securityinsight.models.InstructionStep]
+ """
+
+ _attribute_map = {
+ "title": {"key": "title", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "instructions": {"key": "instructions", "type": "[InstructionStepDetails]"},
+ "inner_steps": {"key": "innerSteps", "type": "[InstructionStep]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ title: Optional[str] = None,
+ description: Optional[str] = None,
+ instructions: Optional[List["_models.InstructionStepDetails"]] = None,
+ inner_steps: Optional[List["_models.InstructionStep"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword title: Gets or sets the instruction step title.
+ :paramtype title: str
+ :keyword description: Gets or sets the instruction step description.
+ :paramtype description: str
+ :keyword instructions: Gets or sets the instruction step details.
+ :paramtype instructions: list[~azure.mgmt.securityinsight.models.InstructionStepDetails]
+ :keyword inner_steps: Gets or sets the inner instruction steps details.
+ For Example: instruction step 1 might contain inner instruction steps: [instruction step 1.1,
+ instruction step 1.2].
+ :paramtype inner_steps: list[~azure.mgmt.securityinsight.models.InstructionStep]
+ """
+ super().__init__(**kwargs)
+ self.title = title
+ self.description = description
+ self.instructions = instructions
+ self.inner_steps = inner_steps
+
+
+class InstructionStepDetails(_serialization.Model):
+ """Instruction step details, to be displayed in the Instructions steps section in the connector's
+ page in Sentinel Portal.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar parameters: Gets or sets the instruction type parameters settings. Required.
+ :vartype parameters: JSON
+ :ivar type: Gets or sets the instruction type name. Required.
+ :vartype type: str
+ """
+
+ _validation = {
+ "parameters": {"required": True},
+ "type": {"required": True},
+ }
+
+ _attribute_map = {
+ "parameters": {"key": "parameters", "type": "object"},
+ "type": {"key": "type", "type": "str"},
+ }
+
+ def __init__(self, *, parameters: JSON, type: str, **kwargs: Any) -> None:
+ """
+ :keyword parameters: Gets or sets the instruction type parameters settings. Required.
+ :paramtype parameters: JSON
+ :keyword type: Gets or sets the instruction type name. Required.
+ :paramtype type: str
+ """
+ super().__init__(**kwargs)
+ self.parameters = parameters
+ self.type = type
+
+
+class InstructionStepsInstructionsItem(ConnectorInstructionModelBase):
+ """InstructionStepsInstructionsItem.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar parameters: The parameters for the setting.
+ :vartype parameters: JSON
+ :ivar type: The kind of the setting. Required. Known values are: "CopyableLabel",
+ "InstructionStepsGroup", and "InfoMessage".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.SettingType
+ """
+
+
+class IoTCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents IoT requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar subscription_id: The subscription id to connect to, and get the data from.
+ :vartype subscription_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "subscription_id": {"key": "properties.subscriptionId", "type": "str"},
+ }
+
+ def __init__(self, *, subscription_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword subscription_id: The subscription id to connect to, and get the data from.
+ :paramtype subscription_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "IOT"
+ self.subscription_id = subscription_id
+
+
+class IoTDataConnector(DataConnector):
+ """Represents IoT data connector.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar subscription_id: The subscription id to connect to, and get the data from.
+ :vartype subscription_id: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "subscription_id": {"key": "properties.subscriptionId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
+ subscription_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword subscription_id: The subscription id to connect to, and get the data from.
+ :paramtype subscription_id: str
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "IOT"
+ self.data_types = data_types
+ self.subscription_id = subscription_id
+
+
+class IoTDataConnectorProperties(DataConnectorWithAlertsProperties):
+ """IoT data connector properties.
+
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar subscription_id: The subscription id to connect to, and get the data from.
+ :vartype subscription_id: str
+ """
+
+ _attribute_map = {
+ "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
+ subscription_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword subscription_id: The subscription id to connect to, and get the data from.
+ :paramtype subscription_id: str
+ """
+ super().__init__(data_types=data_types, **kwargs)
+ self.subscription_id = subscription_id
+
+
+class IoTDeviceEntity(Entity):
+ """Represents an IoT device entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar device_id: The ID of the IoT Device in the IoT Hub.
+ :vartype device_id: str
+ :ivar device_name: The friendly name of the device.
+ :vartype device_name: str
+ :ivar source: The source of the device.
+ :vartype source: str
+ :ivar iot_security_agent_id: The ID of the security agent running on the device.
+ :vartype iot_security_agent_id: str
+ :ivar device_type: The type of the device.
+ :vartype device_type: str
+ :ivar vendor: The vendor of the device.
+ :vartype vendor: str
+ :ivar edge_id: The ID of the edge device.
+ :vartype edge_id: str
+ :ivar mac_address: The MAC address of the device.
+ :vartype mac_address: str
+ :ivar model: The model of the device.
+ :vartype model: str
+ :ivar serial_number: The serial number of the device.
+ :vartype serial_number: str
+ :ivar firmware_version: The firmware version of the device.
+ :vartype firmware_version: str
+ :ivar operating_system: The operating system of the device.
+ :vartype operating_system: str
+ :ivar iot_hub_entity_id: The AzureResource entity id of the IoT Hub.
+ :vartype iot_hub_entity_id: str
+ :ivar host_entity_id: The Host entity id of this device.
+ :vartype host_entity_id: str
+ :ivar ip_address_entity_id: The IP entity if of this device.
+ :vartype ip_address_entity_id: str
+ :ivar threat_intelligence: A list of TI contexts attached to the IoTDevice entity.
+ :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ :ivar protocols: A list of protocols of the IoTDevice entity.
+ :vartype protocols: list[str]
+ :ivar owners: A list of owners of the IoTDevice entity.
+ :vartype owners: list[str]
+ :ivar nic_entity_ids: A list of Nic entity ids of the IoTDevice entity.
+ :vartype nic_entity_ids: list[str]
+ :ivar site: The site of the device.
+ :vartype site: str
+ :ivar zone: The zone location of the device within a site.
+ :vartype zone: str
+ :ivar sensor: The sensor the device is monitored by.
+ :vartype sensor: str
+ :ivar device_sub_type: The subType of the device ('PLC', 'HMI', 'EWS', etc.).
+ :vartype device_sub_type: str
+ :ivar importance: Device importance, determines if the device classified as 'crown jewel'.
+ Known values are: "Unknown", "Low", "Normal", and "High".
+ :vartype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
+ :ivar purdue_layer: The Purdue Layer of the device.
+ :vartype purdue_layer: str
+ :ivar is_authorized: Determines whether the device classified as authorized device.
+ :vartype is_authorized: bool
+ :ivar is_programming: Determines whether the device classified as programming device.
+ :vartype is_programming: bool
+ :ivar is_scanner: Is the device classified as a scanner device.
+ :vartype is_scanner: bool
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "device_id": {"readonly": True},
+ "device_name": {"readonly": True},
+ "source": {"readonly": True},
+ "iot_security_agent_id": {"readonly": True},
+ "device_type": {"readonly": True},
+ "vendor": {"readonly": True},
+ "edge_id": {"readonly": True},
+ "mac_address": {"readonly": True},
+ "model": {"readonly": True},
+ "serial_number": {"readonly": True},
+ "firmware_version": {"readonly": True},
+ "operating_system": {"readonly": True},
+ "iot_hub_entity_id": {"readonly": True},
+ "host_entity_id": {"readonly": True},
+ "ip_address_entity_id": {"readonly": True},
+ "threat_intelligence": {"readonly": True},
+ "protocols": {"readonly": True},
+ "owners": {"readonly": True},
+ "nic_entity_ids": {"readonly": True},
+ "site": {"readonly": True},
+ "zone": {"readonly": True},
+ "sensor": {"readonly": True},
+ "device_sub_type": {"readonly": True},
+ "purdue_layer": {"readonly": True},
+ "is_authorized": {"readonly": True},
+ "is_programming": {"readonly": True},
+ "is_scanner": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "device_id": {"key": "properties.deviceId", "type": "str"},
+ "device_name": {"key": "properties.deviceName", "type": "str"},
+ "source": {"key": "properties.source", "type": "str"},
+ "iot_security_agent_id": {"key": "properties.iotSecurityAgentId", "type": "str"},
+ "device_type": {"key": "properties.deviceType", "type": "str"},
+ "vendor": {"key": "properties.vendor", "type": "str"},
+ "edge_id": {"key": "properties.edgeId", "type": "str"},
+ "mac_address": {"key": "properties.macAddress", "type": "str"},
+ "model": {"key": "properties.model", "type": "str"},
+ "serial_number": {"key": "properties.serialNumber", "type": "str"},
+ "firmware_version": {"key": "properties.firmwareVersion", "type": "str"},
+ "operating_system": {"key": "properties.operatingSystem", "type": "str"},
+ "iot_hub_entity_id": {"key": "properties.iotHubEntityId", "type": "str"},
+ "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
+ "ip_address_entity_id": {"key": "properties.ipAddressEntityId", "type": "str"},
+ "threat_intelligence": {"key": "properties.threatIntelligence", "type": "[ThreatIntelligence]"},
+ "protocols": {"key": "properties.protocols", "type": "[str]"},
+ "owners": {"key": "properties.owners", "type": "[str]"},
+ "nic_entity_ids": {"key": "properties.nicEntityIds", "type": "[str]"},
+ "site": {"key": "properties.site", "type": "str"},
+ "zone": {"key": "properties.zone", "type": "str"},
+ "sensor": {"key": "properties.sensor", "type": "str"},
+ "device_sub_type": {"key": "properties.deviceSubType", "type": "str"},
+ "importance": {"key": "properties.importance", "type": "str"},
+ "purdue_layer": {"key": "properties.purdueLayer", "type": "str"},
+ "is_authorized": {"key": "properties.isAuthorized", "type": "bool"},
+ "is_programming": {"key": "properties.isProgramming", "type": "bool"},
+ "is_scanner": {"key": "properties.isScanner", "type": "bool"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self, *, importance: Optional[Union[str, "_models.DeviceImportance"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword importance: Device importance, determines if the device classified as 'crown jewel'.
+ Known values are: "Unknown", "Low", "Normal", and "High".
+ :paramtype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "IoTDevice"
+ self.additional_data = None
+ self.friendly_name = None
+ self.device_id = None
+ self.device_name = None
+ self.source = None
+ self.iot_security_agent_id = None
+ self.device_type = None
+ self.vendor = None
+ self.edge_id = None
+ self.mac_address = None
+ self.model = None
+ self.serial_number = None
+ self.firmware_version = None
+ self.operating_system = None
+ self.iot_hub_entity_id = None
+ self.host_entity_id = None
+ self.ip_address_entity_id = None
+ self.threat_intelligence = None
+ self.protocols = None
+ self.owners = None
+ self.nic_entity_ids = None
+ self.site = None
+ self.zone = None
+ self.sensor = None
+ self.device_sub_type = None
+ self.importance = importance
+ self.purdue_layer = None
+ self.is_authorized = None
+ self.is_programming = None
+ self.is_scanner = None
+
+
+class IoTDeviceEntityProperties(EntityCommonProperties):
+ """IoTDevice entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar device_id: The ID of the IoT Device in the IoT Hub.
+ :vartype device_id: str
+ :ivar device_name: The friendly name of the device.
+ :vartype device_name: str
+ :ivar source: The source of the device.
+ :vartype source: str
+ :ivar iot_security_agent_id: The ID of the security agent running on the device.
+ :vartype iot_security_agent_id: str
+ :ivar device_type: The type of the device.
+ :vartype device_type: str
+ :ivar vendor: The vendor of the device.
+ :vartype vendor: str
+ :ivar edge_id: The ID of the edge device.
+ :vartype edge_id: str
+ :ivar mac_address: The MAC address of the device.
+ :vartype mac_address: str
+ :ivar model: The model of the device.
+ :vartype model: str
+ :ivar serial_number: The serial number of the device.
+ :vartype serial_number: str
+ :ivar firmware_version: The firmware version of the device.
+ :vartype firmware_version: str
+ :ivar operating_system: The operating system of the device.
+ :vartype operating_system: str
+ :ivar iot_hub_entity_id: The AzureResource entity id of the IoT Hub.
+ :vartype iot_hub_entity_id: str
+ :ivar host_entity_id: The Host entity id of this device.
+ :vartype host_entity_id: str
+ :ivar ip_address_entity_id: The IP entity if of this device.
+ :vartype ip_address_entity_id: str
+ :ivar threat_intelligence: A list of TI contexts attached to the IoTDevice entity.
+ :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ :ivar protocols: A list of protocols of the IoTDevice entity.
+ :vartype protocols: list[str]
+ :ivar owners: A list of owners of the IoTDevice entity.
+ :vartype owners: list[str]
+ :ivar nic_entity_ids: A list of Nic entity ids of the IoTDevice entity.
+ :vartype nic_entity_ids: list[str]
+ :ivar site: The site of the device.
+ :vartype site: str
+ :ivar zone: The zone location of the device within a site.
+ :vartype zone: str
+ :ivar sensor: The sensor the device is monitored by.
+ :vartype sensor: str
+ :ivar device_sub_type: The subType of the device ('PLC', 'HMI', 'EWS', etc.).
+ :vartype device_sub_type: str
+ :ivar importance: Device importance, determines if the device classified as 'crown jewel'.
+ Known values are: "Unknown", "Low", "Normal", and "High".
+ :vartype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
+ :ivar purdue_layer: The Purdue Layer of the device.
+ :vartype purdue_layer: str
+ :ivar is_authorized: Determines whether the device classified as authorized device.
+ :vartype is_authorized: bool
+ :ivar is_programming: Determines whether the device classified as programming device.
+ :vartype is_programming: bool
+ :ivar is_scanner: Is the device classified as a scanner device.
+ :vartype is_scanner: bool
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "device_id": {"readonly": True},
+ "device_name": {"readonly": True},
+ "source": {"readonly": True},
+ "iot_security_agent_id": {"readonly": True},
+ "device_type": {"readonly": True},
+ "vendor": {"readonly": True},
+ "edge_id": {"readonly": True},
+ "mac_address": {"readonly": True},
+ "model": {"readonly": True},
+ "serial_number": {"readonly": True},
+ "firmware_version": {"readonly": True},
+ "operating_system": {"readonly": True},
+ "iot_hub_entity_id": {"readonly": True},
+ "host_entity_id": {"readonly": True},
+ "ip_address_entity_id": {"readonly": True},
+ "threat_intelligence": {"readonly": True},
+ "protocols": {"readonly": True},
+ "owners": {"readonly": True},
+ "nic_entity_ids": {"readonly": True},
+ "site": {"readonly": True},
+ "zone": {"readonly": True},
+ "sensor": {"readonly": True},
+ "device_sub_type": {"readonly": True},
+ "purdue_layer": {"readonly": True},
+ "is_authorized": {"readonly": True},
+ "is_programming": {"readonly": True},
+ "is_scanner": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "device_id": {"key": "deviceId", "type": "str"},
+ "device_name": {"key": "deviceName", "type": "str"},
+ "source": {"key": "source", "type": "str"},
+ "iot_security_agent_id": {"key": "iotSecurityAgentId", "type": "str"},
+ "device_type": {"key": "deviceType", "type": "str"},
+ "vendor": {"key": "vendor", "type": "str"},
+ "edge_id": {"key": "edgeId", "type": "str"},
+ "mac_address": {"key": "macAddress", "type": "str"},
+ "model": {"key": "model", "type": "str"},
+ "serial_number": {"key": "serialNumber", "type": "str"},
+ "firmware_version": {"key": "firmwareVersion", "type": "str"},
+ "operating_system": {"key": "operatingSystem", "type": "str"},
+ "iot_hub_entity_id": {"key": "iotHubEntityId", "type": "str"},
+ "host_entity_id": {"key": "hostEntityId", "type": "str"},
+ "ip_address_entity_id": {"key": "ipAddressEntityId", "type": "str"},
+ "threat_intelligence": {"key": "threatIntelligence", "type": "[ThreatIntelligence]"},
+ "protocols": {"key": "protocols", "type": "[str]"},
+ "owners": {"key": "owners", "type": "[str]"},
+ "nic_entity_ids": {"key": "nicEntityIds", "type": "[str]"},
+ "site": {"key": "site", "type": "str"},
+ "zone": {"key": "zone", "type": "str"},
+ "sensor": {"key": "sensor", "type": "str"},
+ "device_sub_type": {"key": "deviceSubType", "type": "str"},
+ "importance": {"key": "importance", "type": "str"},
+ "purdue_layer": {"key": "purdueLayer", "type": "str"},
+ "is_authorized": {"key": "isAuthorized", "type": "bool"},
+ "is_programming": {"key": "isProgramming", "type": "bool"},
+ "is_scanner": {"key": "isScanner", "type": "bool"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self, *, importance: Optional[Union[str, "_models.DeviceImportance"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword importance: Device importance, determines if the device classified as 'crown jewel'.
+ Known values are: "Unknown", "Low", "Normal", and "High".
+ :paramtype importance: str or ~azure.mgmt.securityinsight.models.DeviceImportance
+ """
+ super().__init__(**kwargs)
+ self.device_id = None
+ self.device_name = None
+ self.source = None
+ self.iot_security_agent_id = None
+ self.device_type = None
+ self.vendor = None
+ self.edge_id = None
+ self.mac_address = None
+ self.model = None
+ self.serial_number = None
+ self.firmware_version = None
+ self.operating_system = None
+ self.iot_hub_entity_id = None
+ self.host_entity_id = None
+ self.ip_address_entity_id = None
+ self.threat_intelligence = None
+ self.protocols = None
+ self.owners = None
+ self.nic_entity_ids = None
+ self.site = None
+ self.zone = None
+ self.sensor = None
+ self.device_sub_type = None
+ self.importance = importance
+ self.purdue_layer = None
+ self.is_authorized = None
+ self.is_programming = None
+ self.is_scanner = None
+
+
+class IpEntity(Entity):
+ """Represents an ip entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar address: The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6).
+ :vartype address: str
+ :ivar location: The geo-location context attached to the ip entity.
+ :vartype location: ~azure.mgmt.securityinsight.models.GeoLocation
+ :ivar threat_intelligence: A list of TI contexts attached to the ip entity.
+ :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "address": {"readonly": True},
+ "location": {"readonly": True},
+ "threat_intelligence": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "address": {"key": "properties.address", "type": "str"},
+ "location": {"key": "properties.location", "type": "GeoLocation"},
+ "threat_intelligence": {"key": "properties.threatIntelligence", "type": "[ThreatIntelligence]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "Ip"
+ self.additional_data = None
+ self.friendly_name = None
+ self.address = None
+ self.location = None
+ self.threat_intelligence = None
+
+
+class IpEntityProperties(EntityCommonProperties):
+ """Ip entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar address: The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6).
+ :vartype address: str
+ :ivar location: The geo-location context attached to the ip entity.
+ :vartype location: ~azure.mgmt.securityinsight.models.GeoLocation
+ :ivar threat_intelligence: A list of TI contexts attached to the ip entity.
+ :vartype threat_intelligence: list[~azure.mgmt.securityinsight.models.ThreatIntelligence]
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "address": {"readonly": True},
+ "location": {"readonly": True},
+ "threat_intelligence": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "address": {"key": "address", "type": "str"},
+ "location": {"key": "location", "type": "GeoLocation"},
+ "threat_intelligence": {"key": "threatIntelligence", "type": "[ThreatIntelligence]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.address = None
+ self.location = None
+ self.threat_intelligence = None
+
+
+class Job(ResourceWithEtag):
+ """The assignment job.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar end_time: The time the job completed.
+ :vartype end_time: ~datetime.datetime
+ :ivar items: List of items published by the job.
+ :vartype items: list[~azure.mgmt.securityinsight.models.JobItem]
+ :ivar provisioning_state: State of the job. Known values are: "Accepted", "InProgress",
+ "Succeeded", "Failed", and "Canceled".
+ :vartype provisioning_state: str or ~azure.mgmt.securityinsight.models.ProvisioningState
+ :ivar start_time: The time the job started.
+ :vartype start_time: ~datetime.datetime
+ :ivar error_message: Message to describe error, if an error exists.
+ :vartype error_message: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "end_time": {"readonly": True},
+ "provisioning_state": {"readonly": True},
+ "start_time": {"readonly": True},
+ "error_message": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "end_time": {"key": "properties.endTime", "type": "iso-8601"},
+ "items": {"key": "properties.items", "type": "[JobItem]"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "start_time": {"key": "properties.startTime", "type": "iso-8601"},
+ "error_message": {"key": "properties.errorMessage", "type": "str"},
+ }
+
+ def __init__(
+ self, *, etag: Optional[str] = None, items: Optional[List["_models.JobItem"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword items: List of items published by the job.
+ :paramtype items: list[~azure.mgmt.securityinsight.models.JobItem]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.end_time = None
+ self.items = items
+ self.provisioning_state = None
+ self.start_time = None
+ self.error_message = None
+
+
+class JobItem(_serialization.Model):
+ """An entity describing the publish status of a content item.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar resource_id: The resource id of the content item.
+ :vartype resource_id: str
+ :ivar status: Status of the item publication. Known values are: "New", "Active", "Closed",
+ "Backlog", "Approved", "Succeeded", "Failed", and "InProgress".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.Status
+ :ivar execution_time: The time the item publishing was completed.
+ :vartype execution_time: ~datetime.datetime
+ :ivar errors: The list of error descriptions if the item publication fails.
+ :vartype errors: list[~azure.mgmt.securityinsight.models.Error]
+ """
+
+ _validation = {
+ "status": {"readonly": True},
+ "execution_time": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "execution_time": {"key": "executionTime", "type": "iso-8601"},
+ "errors": {"key": "errors", "type": "[Error]"},
+ }
+
+ def __init__(
+ self, *, resource_id: Optional[str] = None, errors: Optional[List["_models.Error"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword resource_id: The resource id of the content item.
+ :paramtype resource_id: str
+ :keyword errors: The list of error descriptions if the item publication fails.
+ :paramtype errors: list[~azure.mgmt.securityinsight.models.Error]
+ """
+ super().__init__(**kwargs)
+ self.resource_id = resource_id
+ self.status = None
+ self.execution_time = None
+ self.errors = errors
+
+
+class JobList(_serialization.Model):
+ """List of all the jobs.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of jobs.
+ :vartype next_link: str
+ :ivar value: Array of jobs. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Job]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Job]"},
+ }
+
+ def __init__(self, *, value: List["_models.Job"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of jobs. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Job]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class JwtAuthModel(CcpAuthConfig):
+ """Model for API authentication with JWT. Simple exchange between user name + password to access
+ token.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar token_endpoint: Token endpoint to request JWT. Required.
+ :vartype token_endpoint: str
+ :ivar user_name: The user name. If user name and password sent in header request we only need
+ to populate the ``value`` property with the user name (Same as basic auth). If user name and
+ password sent in body request we need to specify the ``Key`` and ``Value``. Required.
+ :vartype user_name: dict[str, str]
+ :ivar password: The password. Required.
+ :vartype password: dict[str, str]
+ :ivar query_parameters: The custom query parameter we want to add once we send request to token
+ endpoint.
+ :vartype query_parameters: dict[str, str]
+ :ivar headers: The custom headers we want to add once we send request to token endpoint.
+ :vartype headers: dict[str, str]
+ :ivar is_credentials_in_headers: Flag indicating whether we want to send the user name and
+ password to token endpoint in the headers.
+ :vartype is_credentials_in_headers: bool
+ :ivar is_json_request: Flag indicating whether the body request is JSON (header Content-Type =
+ application/json), meaning its a Form URL encoded request (header Content-Type =
+ application/x-www-form-urlencoded).
+ :vartype is_json_request: bool
+ :ivar request_timeout_in_seconds: Request timeout in seconds.
+ :vartype request_timeout_in_seconds: int
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "token_endpoint": {"required": True},
+ "user_name": {"required": True},
+ "password": {"required": True},
+ "request_timeout_in_seconds": {"maximum": 180},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "token_endpoint": {"key": "tokenEndpoint", "type": "str"},
+ "user_name": {"key": "userName", "type": "{str}"},
+ "password": {"key": "password", "type": "{str}"},
+ "query_parameters": {"key": "queryParameters", "type": "{str}"},
+ "headers": {"key": "headers", "type": "{str}"},
+ "is_credentials_in_headers": {"key": "isCredentialsInHeaders", "type": "bool"},
+ "is_json_request": {"key": "isJsonRequest", "type": "bool"},
+ "request_timeout_in_seconds": {"key": "requestTimeoutInSeconds", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ token_endpoint: str,
+ user_name: Dict[str, str],
+ password: Dict[str, str],
+ query_parameters: Optional[Dict[str, str]] = None,
+ headers: Optional[Dict[str, str]] = None,
+ is_credentials_in_headers: Optional[bool] = None,
+ is_json_request: bool = False,
+ request_timeout_in_seconds: int = 100,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword token_endpoint: Token endpoint to request JWT. Required.
+ :paramtype token_endpoint: str
+ :keyword user_name: The user name. If user name and password sent in header request we only
+ need to populate the ``value`` property with the user name (Same as basic auth). If user name
+ and password sent in body request we need to specify the ``Key`` and ``Value``. Required.
+ :paramtype user_name: dict[str, str]
+ :keyword password: The password. Required.
+ :paramtype password: dict[str, str]
+ :keyword query_parameters: The custom query parameter we want to add once we send request to
+ token endpoint.
+ :paramtype query_parameters: dict[str, str]
+ :keyword headers: The custom headers we want to add once we send request to token endpoint.
+ :paramtype headers: dict[str, str]
+ :keyword is_credentials_in_headers: Flag indicating whether we want to send the user name and
+ password to token endpoint in the headers.
+ :paramtype is_credentials_in_headers: bool
+ :keyword is_json_request: Flag indicating whether the body request is JSON (header Content-Type
+ = application/json), meaning its a Form URL encoded request (header Content-Type =
+ application/x-www-form-urlencoded).
+ :paramtype is_json_request: bool
+ :keyword request_timeout_in_seconds: Request timeout in seconds.
+ :paramtype request_timeout_in_seconds: int
+ """
+ super().__init__(**kwargs)
+ self.type: str = "JwtToken"
+ self.token_endpoint = token_endpoint
+ self.user_name = user_name
+ self.password = password
+ self.query_parameters = query_parameters
+ self.headers = headers
+ self.is_credentials_in_headers = is_credentials_in_headers
+ self.is_json_request = is_json_request
+ self.request_timeout_in_seconds = request_timeout_in_seconds
+
+
+class ListActionsResponse(_serialization.Model):
+ """List all actions for a system to perform.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of actions. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Action]
+ :ivar next_link: The link to fetch the next page of actions.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[Action]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.Action"], next_link: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword value: Array of actions. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Action]
+ :keyword next_link: The link to fetch the next page of actions.
+ :paramtype next_link: str
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
+
+
+class LockUserAction(Action):
+ """Represents lock user action.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: The actions kind. Required. Known values are: "LockUser" and "UnlockUser".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ListActionKind
+ :ivar user: The user to lock.
+ :vartype user: str
+ :ivar failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :vartype failure_reason: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "user": {"key": "user", "type": "str"},
+ "failure_reason": {"key": "failureReason", "type": "str"},
+ }
+
+ def __init__(self, *, user: Optional[str] = None, failure_reason: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword user: The user to lock.
+ :paramtype user: str
+ :keyword failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :paramtype failure_reason: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "LockUser"
+ self.user = user
+ self.failure_reason = failure_reason
+
+
+class Log(_serialization.Model):
+ """Describes a log.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: Types of logs and tables. Required. Known values are: "AbapAuditLog", "AbapJobLog",
+ "AbapSpoolLog", "AbapSpoolOutputLog", "AbapChangeDocsLog", "AbapAppLog", "AbapWorkflowLog",
+ "AbapCrLog", "AbapTableDataLog", "AbapFilesLogs", "JavaFilesLogs", "AGRTCODES", "USR01",
+ "USR02", "AGR1251", "AGRUSERS", "AGRPROF", "UST04", "USR21", "ADR6", "ADCP", "USR05",
+ "USGRPUSER", "USERADDR", "DEVACCESS", "AGRDEFINE", "PAHI", "AGRAGRS", "USRSTAMP", "AGRFLAGS",
+ "SNCSYSACL", and "USRACL".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.LogType
+ :ivar ingestion_type: Types of ingestion. Known values are: "Full" and "Incremental".
+ :vartype ingestion_type: str or ~azure.mgmt.securityinsight.models.IngestionType
+ :ivar status: Types of log status. Known values are: "Enabled" and "Disabled".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.LogStatusType
+ :ivar schedule_interval: The schedule interval in seconds.
+ :vartype schedule_interval: int
+ :ivar bulk_size: The bulk size for the log.
+ :vartype bulk_size: int
+ :ivar filters: The filters for the log.
+ :vartype filters: list[str]
+ """
+
+ _validation = {
+ "type": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "ingestion_type": {"key": "ingestionType", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "schedule_interval": {"key": "scheduleInterval", "type": "int"},
+ "bulk_size": {"key": "bulkSize", "type": "int"},
+ "filters": {"key": "filters", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Union[str, "_models.LogType"],
+ ingestion_type: Optional[Union[str, "_models.IngestionType"]] = None,
+ status: Optional[Union[str, "_models.LogStatusType"]] = None,
+ schedule_interval: Optional[int] = None,
+ bulk_size: Optional[int] = None,
+ filters: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword type: Types of logs and tables. Required. Known values are: "AbapAuditLog",
+ "AbapJobLog", "AbapSpoolLog", "AbapSpoolOutputLog", "AbapChangeDocsLog", "AbapAppLog",
+ "AbapWorkflowLog", "AbapCrLog", "AbapTableDataLog", "AbapFilesLogs", "JavaFilesLogs",
+ "AGRTCODES", "USR01", "USR02", "AGR1251", "AGRUSERS", "AGRPROF", "UST04", "USR21", "ADR6",
+ "ADCP", "USR05", "USGRPUSER", "USERADDR", "DEVACCESS", "AGRDEFINE", "PAHI", "AGRAGRS",
+ "USRSTAMP", "AGRFLAGS", "SNCSYSACL", and "USRACL".
+ :paramtype type: str or ~azure.mgmt.securityinsight.models.LogType
+ :keyword ingestion_type: Types of ingestion. Known values are: "Full" and "Incremental".
+ :paramtype ingestion_type: str or ~azure.mgmt.securityinsight.models.IngestionType
+ :keyword status: Types of log status. Known values are: "Enabled" and "Disabled".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.LogStatusType
+ :keyword schedule_interval: The schedule interval in seconds.
+ :paramtype schedule_interval: int
+ :keyword bulk_size: The bulk size for the log.
+ :paramtype bulk_size: int
+ :keyword filters: The filters for the log.
+ :paramtype filters: list[str]
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.ingestion_type = ingestion_type
+ self.status = status
+ self.schedule_interval = schedule_interval
+ self.bulk_size = bulk_size
+ self.filters = filters
+
+
+class MailboxEntity(Entity):
+ """Represents a mailbox entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar mailbox_primary_address: The mailbox's primary address.
+ :vartype mailbox_primary_address: str
+ :ivar display_name: The mailbox's display name.
+ :vartype display_name: str
+ :ivar upn: The mailbox's UPN.
+ :vartype upn: str
+ :ivar external_directory_object_id: The AzureAD identifier of mailbox. Similar to AadUserId in
+ account entity but this property is specific to mailbox object on office side.
+ :vartype external_directory_object_id: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "mailbox_primary_address": {"readonly": True},
+ "display_name": {"readonly": True},
+ "upn": {"readonly": True},
+ "external_directory_object_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "mailbox_primary_address": {"key": "properties.mailboxPrimaryAddress", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "upn": {"key": "properties.upn", "type": "str"},
+ "external_directory_object_id": {"key": "properties.externalDirectoryObjectId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "Mailbox"
+ self.additional_data = None
+ self.friendly_name = None
+ self.mailbox_primary_address = None
+ self.display_name = None
+ self.upn = None
+ self.external_directory_object_id = None
+
+
+class MailboxEntityProperties(EntityCommonProperties):
+ """Mailbox entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar mailbox_primary_address: The mailbox's primary address.
+ :vartype mailbox_primary_address: str
+ :ivar display_name: The mailbox's display name.
+ :vartype display_name: str
+ :ivar upn: The mailbox's UPN.
+ :vartype upn: str
+ :ivar external_directory_object_id: The AzureAD identifier of mailbox. Similar to AadUserId in
+ account entity but this property is specific to mailbox object on office side.
+ :vartype external_directory_object_id: str
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "mailbox_primary_address": {"readonly": True},
+ "display_name": {"readonly": True},
+ "upn": {"readonly": True},
+ "external_directory_object_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "mailbox_primary_address": {"key": "mailboxPrimaryAddress", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "upn": {"key": "upn", "type": "str"},
+ "external_directory_object_id": {"key": "externalDirectoryObjectId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.mailbox_primary_address = None
+ self.display_name = None
+ self.upn = None
+ self.external_directory_object_id = None
+
+
+class MailClusterEntity(Entity):
+ """Represents a mail cluster entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar network_message_ids: The mail message IDs that are part of the mail cluster.
+ :vartype network_message_ids: list[str]
+ :ivar count_by_delivery_status: Count of mail messages by DeliveryStatus string representation.
+ :vartype count_by_delivery_status: JSON
+ :ivar count_by_threat_type: Count of mail messages by ThreatType string representation.
+ :vartype count_by_threat_type: JSON
+ :ivar count_by_protection_status: Count of mail messages by ProtectionStatus string
+ representation.
+ :vartype count_by_protection_status: JSON
+ :ivar threats: The threats of mail messages that are part of the mail cluster.
+ :vartype threats: list[str]
+ :ivar query: The query that was used to identify the messages of the mail cluster.
+ :vartype query: str
+ :ivar query_time: The query time.
+ :vartype query_time: ~datetime.datetime
+ :ivar mail_count: The number of mail messages that are part of the mail cluster.
+ :vartype mail_count: int
+ :ivar is_volume_anomaly: Is this a volume anomaly mail cluster.
+ :vartype is_volume_anomaly: bool
+ :ivar source: The source of the mail cluster (default is 'O365 ATP').
+ :vartype source: str
+ :ivar cluster_source_identifier: The id of the cluster source.
+ :vartype cluster_source_identifier: str
+ :ivar cluster_source_type: The type of the cluster source.
+ :vartype cluster_source_type: str
+ :ivar cluster_query_start_time: The cluster query start time.
+ :vartype cluster_query_start_time: ~datetime.datetime
+ :ivar cluster_query_end_time: The cluster query end time.
+ :vartype cluster_query_end_time: ~datetime.datetime
+ :ivar cluster_group: The cluster group.
+ :vartype cluster_group: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "network_message_ids": {"readonly": True},
+ "count_by_delivery_status": {"readonly": True},
+ "count_by_threat_type": {"readonly": True},
+ "count_by_protection_status": {"readonly": True},
+ "threats": {"readonly": True},
+ "query": {"readonly": True},
+ "query_time": {"readonly": True},
+ "mail_count": {"readonly": True},
+ "is_volume_anomaly": {"readonly": True},
+ "source": {"readonly": True},
+ "cluster_source_identifier": {"readonly": True},
+ "cluster_source_type": {"readonly": True},
+ "cluster_query_start_time": {"readonly": True},
+ "cluster_query_end_time": {"readonly": True},
+ "cluster_group": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "network_message_ids": {"key": "properties.networkMessageIds", "type": "[str]"},
+ "count_by_delivery_status": {"key": "properties.countByDeliveryStatus", "type": "object"},
+ "count_by_threat_type": {"key": "properties.countByThreatType", "type": "object"},
+ "count_by_protection_status": {"key": "properties.countByProtectionStatus", "type": "object"},
+ "threats": {"key": "properties.threats", "type": "[str]"},
+ "query": {"key": "properties.query", "type": "str"},
+ "query_time": {"key": "properties.queryTime", "type": "iso-8601"},
+ "mail_count": {"key": "properties.mailCount", "type": "int"},
+ "is_volume_anomaly": {"key": "properties.isVolumeAnomaly", "type": "bool"},
+ "source": {"key": "properties.source", "type": "str"},
+ "cluster_source_identifier": {"key": "properties.clusterSourceIdentifier", "type": "str"},
+ "cluster_source_type": {"key": "properties.clusterSourceType", "type": "str"},
+ "cluster_query_start_time": {"key": "properties.clusterQueryStartTime", "type": "iso-8601"},
+ "cluster_query_end_time": {"key": "properties.clusterQueryEndTime", "type": "iso-8601"},
+ "cluster_group": {"key": "properties.clusterGroup", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "MailCluster"
+ self.additional_data = None
+ self.friendly_name = None
+ self.network_message_ids = None
+ self.count_by_delivery_status = None
+ self.count_by_threat_type = None
+ self.count_by_protection_status = None
+ self.threats = None
+ self.query = None
+ self.query_time = None
+ self.mail_count = None
+ self.is_volume_anomaly = None
+ self.source = None
+ self.cluster_source_identifier = None
+ self.cluster_source_type = None
+ self.cluster_query_start_time = None
+ self.cluster_query_end_time = None
+ self.cluster_group = None
+
+
+class MailClusterEntityProperties(EntityCommonProperties):
+ """Mail cluster entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar network_message_ids: The mail message IDs that are part of the mail cluster.
+ :vartype network_message_ids: list[str]
+ :ivar count_by_delivery_status: Count of mail messages by DeliveryStatus string representation.
+ :vartype count_by_delivery_status: JSON
+ :ivar count_by_threat_type: Count of mail messages by ThreatType string representation.
+ :vartype count_by_threat_type: JSON
+ :ivar count_by_protection_status: Count of mail messages by ProtectionStatus string
+ representation.
+ :vartype count_by_protection_status: JSON
+ :ivar threats: The threats of mail messages that are part of the mail cluster.
+ :vartype threats: list[str]
+ :ivar query: The query that was used to identify the messages of the mail cluster.
+ :vartype query: str
+ :ivar query_time: The query time.
+ :vartype query_time: ~datetime.datetime
+ :ivar mail_count: The number of mail messages that are part of the mail cluster.
+ :vartype mail_count: int
+ :ivar is_volume_anomaly: Is this a volume anomaly mail cluster.
+ :vartype is_volume_anomaly: bool
+ :ivar source: The source of the mail cluster (default is 'O365 ATP').
+ :vartype source: str
+ :ivar cluster_source_identifier: The id of the cluster source.
+ :vartype cluster_source_identifier: str
+ :ivar cluster_source_type: The type of the cluster source.
+ :vartype cluster_source_type: str
+ :ivar cluster_query_start_time: The cluster query start time.
+ :vartype cluster_query_start_time: ~datetime.datetime
+ :ivar cluster_query_end_time: The cluster query end time.
+ :vartype cluster_query_end_time: ~datetime.datetime
+ :ivar cluster_group: The cluster group.
+ :vartype cluster_group: str
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "network_message_ids": {"readonly": True},
+ "count_by_delivery_status": {"readonly": True},
+ "count_by_threat_type": {"readonly": True},
+ "count_by_protection_status": {"readonly": True},
+ "threats": {"readonly": True},
+ "query": {"readonly": True},
+ "query_time": {"readonly": True},
+ "mail_count": {"readonly": True},
+ "is_volume_anomaly": {"readonly": True},
+ "source": {"readonly": True},
+ "cluster_source_identifier": {"readonly": True},
+ "cluster_source_type": {"readonly": True},
+ "cluster_query_start_time": {"readonly": True},
+ "cluster_query_end_time": {"readonly": True},
+ "cluster_group": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "network_message_ids": {"key": "networkMessageIds", "type": "[str]"},
+ "count_by_delivery_status": {"key": "countByDeliveryStatus", "type": "object"},
+ "count_by_threat_type": {"key": "countByThreatType", "type": "object"},
+ "count_by_protection_status": {"key": "countByProtectionStatus", "type": "object"},
+ "threats": {"key": "threats", "type": "[str]"},
+ "query": {"key": "query", "type": "str"},
+ "query_time": {"key": "queryTime", "type": "iso-8601"},
+ "mail_count": {"key": "mailCount", "type": "int"},
+ "is_volume_anomaly": {"key": "isVolumeAnomaly", "type": "bool"},
+ "source": {"key": "source", "type": "str"},
+ "cluster_source_identifier": {"key": "clusterSourceIdentifier", "type": "str"},
+ "cluster_source_type": {"key": "clusterSourceType", "type": "str"},
+ "cluster_query_start_time": {"key": "clusterQueryStartTime", "type": "iso-8601"},
+ "cluster_query_end_time": {"key": "clusterQueryEndTime", "type": "iso-8601"},
+ "cluster_group": {"key": "clusterGroup", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.network_message_ids = None
+ self.count_by_delivery_status = None
+ self.count_by_threat_type = None
+ self.count_by_protection_status = None
+ self.threats = None
+ self.query = None
+ self.query_time = None
+ self.mail_count = None
+ self.is_volume_anomaly = None
+ self.source = None
+ self.cluster_source_identifier = None
+ self.cluster_source_type = None
+ self.cluster_query_start_time = None
+ self.cluster_query_end_time = None
+ self.cluster_group = None
+
+
+class MailMessageEntity(Entity):
+ """Represents a mail message entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar file_entity_ids: The File entity ids of this mail message's attachments.
+ :vartype file_entity_ids: list[str]
+ :ivar recipient: The recipient of this mail message. Note that in case of multiple recipients
+ the mail message is forked and each copy has one recipient.
+ :vartype recipient: str
+ :ivar urls: The Urls contained in this mail message.
+ :vartype urls: list[str]
+ :ivar threats: The threats of this mail message.
+ :vartype threats: list[str]
+ :ivar p1_sender: The p1 sender's email address.
+ :vartype p1_sender: str
+ :ivar p1_sender_display_name: The p1 sender's display name.
+ :vartype p1_sender_display_name: str
+ :ivar p1_sender_domain: The p1 sender's domain.
+ :vartype p1_sender_domain: str
+ :ivar sender_ip: The sender's IP address.
+ :vartype sender_ip: str
+ :ivar p2_sender: The p2 sender's email address.
+ :vartype p2_sender: str
+ :ivar p2_sender_display_name: The p2 sender's display name.
+ :vartype p2_sender_display_name: str
+ :ivar p2_sender_domain: The p2 sender's domain.
+ :vartype p2_sender_domain: str
+ :ivar receive_date: The receive date of this message.
+ :vartype receive_date: ~datetime.datetime
+ :ivar network_message_id: The network message id of this mail message.
+ :vartype network_message_id: str
+ :ivar internet_message_id: The internet message id of this mail message.
+ :vartype internet_message_id: str
+ :ivar subject: The subject of this mail message.
+ :vartype subject: str
+ :ivar language: The language of this mail message.
+ :vartype language: str
+ :ivar threat_detection_methods: The threat detection methods.
+ :vartype threat_detection_methods: list[str]
+ :ivar body_fingerprint_bin1: The bodyFingerprintBin1.
+ :vartype body_fingerprint_bin1: int
+ :ivar body_fingerprint_bin2: The bodyFingerprintBin2.
+ :vartype body_fingerprint_bin2: int
+ :ivar body_fingerprint_bin3: The bodyFingerprintBin3.
+ :vartype body_fingerprint_bin3: int
+ :ivar body_fingerprint_bin4: The bodyFingerprintBin4.
+ :vartype body_fingerprint_bin4: int
+ :ivar body_fingerprint_bin5: The bodyFingerprintBin5.
+ :vartype body_fingerprint_bin5: int
+ :ivar antispam_direction: The directionality of this mail message. Known values are: "Unknown",
+ "Inbound", "Outbound", and "Intraorg".
+ :vartype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
+ :ivar delivery_action: The delivery action of this mail message like Delivered, Blocked,
+ Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
+ "Replaced".
+ :vartype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
+ :ivar delivery_location: The delivery location of this mail message like Inbox, JunkFolder etc.
+ Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine", "External",
+ "Failed", "Dropped", and "Forwarded".
+ :vartype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "file_entity_ids": {"readonly": True},
+ "recipient": {"readonly": True},
+ "urls": {"readonly": True},
+ "threats": {"readonly": True},
+ "p1_sender": {"readonly": True},
+ "p1_sender_display_name": {"readonly": True},
+ "p1_sender_domain": {"readonly": True},
+ "sender_ip": {"readonly": True},
+ "p2_sender": {"readonly": True},
+ "p2_sender_display_name": {"readonly": True},
+ "p2_sender_domain": {"readonly": True},
+ "receive_date": {"readonly": True},
+ "network_message_id": {"readonly": True},
+ "internet_message_id": {"readonly": True},
+ "subject": {"readonly": True},
+ "language": {"readonly": True},
+ "threat_detection_methods": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "file_entity_ids": {"key": "properties.fileEntityIds", "type": "[str]"},
+ "recipient": {"key": "properties.recipient", "type": "str"},
+ "urls": {"key": "properties.urls", "type": "[str]"},
+ "threats": {"key": "properties.threats", "type": "[str]"},
+ "p1_sender": {"key": "properties.p1Sender", "type": "str"},
+ "p1_sender_display_name": {"key": "properties.p1SenderDisplayName", "type": "str"},
+ "p1_sender_domain": {"key": "properties.p1SenderDomain", "type": "str"},
+ "sender_ip": {"key": "properties.senderIP", "type": "str"},
+ "p2_sender": {"key": "properties.p2Sender", "type": "str"},
+ "p2_sender_display_name": {"key": "properties.p2SenderDisplayName", "type": "str"},
+ "p2_sender_domain": {"key": "properties.p2SenderDomain", "type": "str"},
+ "receive_date": {"key": "properties.receiveDate", "type": "iso-8601"},
+ "network_message_id": {"key": "properties.networkMessageId", "type": "str"},
+ "internet_message_id": {"key": "properties.internetMessageId", "type": "str"},
+ "subject": {"key": "properties.subject", "type": "str"},
+ "language": {"key": "properties.language", "type": "str"},
+ "threat_detection_methods": {"key": "properties.threatDetectionMethods", "type": "[str]"},
+ "body_fingerprint_bin1": {"key": "properties.bodyFingerprintBin1", "type": "int"},
+ "body_fingerprint_bin2": {"key": "properties.bodyFingerprintBin2", "type": "int"},
+ "body_fingerprint_bin3": {"key": "properties.bodyFingerprintBin3", "type": "int"},
+ "body_fingerprint_bin4": {"key": "properties.bodyFingerprintBin4", "type": "int"},
+ "body_fingerprint_bin5": {"key": "properties.bodyFingerprintBin5", "type": "int"},
+ "antispam_direction": {"key": "properties.antispamDirection", "type": "str"},
+ "delivery_action": {"key": "properties.deliveryAction", "type": "str"},
+ "delivery_location": {"key": "properties.deliveryLocation", "type": "str"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ body_fingerprint_bin1: Optional[int] = None,
+ body_fingerprint_bin2: Optional[int] = None,
+ body_fingerprint_bin3: Optional[int] = None,
+ body_fingerprint_bin4: Optional[int] = None,
+ body_fingerprint_bin5: Optional[int] = None,
+ antispam_direction: Optional[Union[str, "_models.AntispamMailDirection"]] = None,
+ delivery_action: Optional[Union[str, "_models.DeliveryAction"]] = None,
+ delivery_location: Optional[Union[str, "_models.DeliveryLocation"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword body_fingerprint_bin1: The bodyFingerprintBin1.
+ :paramtype body_fingerprint_bin1: int
+ :keyword body_fingerprint_bin2: The bodyFingerprintBin2.
+ :paramtype body_fingerprint_bin2: int
+ :keyword body_fingerprint_bin3: The bodyFingerprintBin3.
+ :paramtype body_fingerprint_bin3: int
+ :keyword body_fingerprint_bin4: The bodyFingerprintBin4.
+ :paramtype body_fingerprint_bin4: int
+ :keyword body_fingerprint_bin5: The bodyFingerprintBin5.
+ :paramtype body_fingerprint_bin5: int
+ :keyword antispam_direction: The directionality of this mail message. Known values are:
+ "Unknown", "Inbound", "Outbound", and "Intraorg".
+ :paramtype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
+ :keyword delivery_action: The delivery action of this mail message like Delivered, Blocked,
+ Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
+ "Replaced".
+ :paramtype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
+ :keyword delivery_location: The delivery location of this mail message like Inbox, JunkFolder
+ etc. Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine",
+ "External", "Failed", "Dropped", and "Forwarded".
+ :paramtype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "MailMessage"
+ self.additional_data = None
+ self.friendly_name = None
+ self.file_entity_ids = None
+ self.recipient = None
+ self.urls = None
+ self.threats = None
+ self.p1_sender = None
+ self.p1_sender_display_name = None
+ self.p1_sender_domain = None
+ self.sender_ip = None
+ self.p2_sender = None
+ self.p2_sender_display_name = None
+ self.p2_sender_domain = None
+ self.receive_date = None
+ self.network_message_id = None
+ self.internet_message_id = None
+ self.subject = None
+ self.language = None
+ self.threat_detection_methods = None
+ self.body_fingerprint_bin1 = body_fingerprint_bin1
+ self.body_fingerprint_bin2 = body_fingerprint_bin2
+ self.body_fingerprint_bin3 = body_fingerprint_bin3
+ self.body_fingerprint_bin4 = body_fingerprint_bin4
+ self.body_fingerprint_bin5 = body_fingerprint_bin5
+ self.antispam_direction = antispam_direction
+ self.delivery_action = delivery_action
+ self.delivery_location = delivery_location
+
+
+class MailMessageEntityProperties(EntityCommonProperties):
+ """Mail message entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar file_entity_ids: The File entity ids of this mail message's attachments.
+ :vartype file_entity_ids: list[str]
+ :ivar recipient: The recipient of this mail message. Note that in case of multiple recipients
+ the mail message is forked and each copy has one recipient.
+ :vartype recipient: str
+ :ivar urls: The Urls contained in this mail message.
+ :vartype urls: list[str]
+ :ivar threats: The threats of this mail message.
+ :vartype threats: list[str]
+ :ivar p1_sender: The p1 sender's email address.
+ :vartype p1_sender: str
+ :ivar p1_sender_display_name: The p1 sender's display name.
+ :vartype p1_sender_display_name: str
+ :ivar p1_sender_domain: The p1 sender's domain.
+ :vartype p1_sender_domain: str
+ :ivar sender_ip: The sender's IP address.
+ :vartype sender_ip: str
+ :ivar p2_sender: The p2 sender's email address.
+ :vartype p2_sender: str
+ :ivar p2_sender_display_name: The p2 sender's display name.
+ :vartype p2_sender_display_name: str
+ :ivar p2_sender_domain: The p2 sender's domain.
+ :vartype p2_sender_domain: str
+ :ivar receive_date: The receive date of this message.
+ :vartype receive_date: ~datetime.datetime
+ :ivar network_message_id: The network message id of this mail message.
+ :vartype network_message_id: str
+ :ivar internet_message_id: The internet message id of this mail message.
+ :vartype internet_message_id: str
+ :ivar subject: The subject of this mail message.
+ :vartype subject: str
+ :ivar language: The language of this mail message.
+ :vartype language: str
+ :ivar threat_detection_methods: The threat detection methods.
+ :vartype threat_detection_methods: list[str]
+ :ivar body_fingerprint_bin1: The bodyFingerprintBin1.
+ :vartype body_fingerprint_bin1: int
+ :ivar body_fingerprint_bin2: The bodyFingerprintBin2.
+ :vartype body_fingerprint_bin2: int
+ :ivar body_fingerprint_bin3: The bodyFingerprintBin3.
+ :vartype body_fingerprint_bin3: int
+ :ivar body_fingerprint_bin4: The bodyFingerprintBin4.
+ :vartype body_fingerprint_bin4: int
+ :ivar body_fingerprint_bin5: The bodyFingerprintBin5.
+ :vartype body_fingerprint_bin5: int
+ :ivar antispam_direction: The directionality of this mail message. Known values are: "Unknown",
+ "Inbound", "Outbound", and "Intraorg".
+ :vartype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
+ :ivar delivery_action: The delivery action of this mail message like Delivered, Blocked,
+ Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
+ "Replaced".
+ :vartype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
+ :ivar delivery_location: The delivery location of this mail message like Inbox, JunkFolder etc.
+ Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine", "External",
+ "Failed", "Dropped", and "Forwarded".
+ :vartype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "file_entity_ids": {"readonly": True},
+ "recipient": {"readonly": True},
+ "urls": {"readonly": True},
+ "threats": {"readonly": True},
+ "p1_sender": {"readonly": True},
+ "p1_sender_display_name": {"readonly": True},
+ "p1_sender_domain": {"readonly": True},
+ "sender_ip": {"readonly": True},
+ "p2_sender": {"readonly": True},
+ "p2_sender_display_name": {"readonly": True},
+ "p2_sender_domain": {"readonly": True},
+ "receive_date": {"readonly": True},
+ "network_message_id": {"readonly": True},
+ "internet_message_id": {"readonly": True},
+ "subject": {"readonly": True},
+ "language": {"readonly": True},
+ "threat_detection_methods": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "file_entity_ids": {"key": "fileEntityIds", "type": "[str]"},
+ "recipient": {"key": "recipient", "type": "str"},
+ "urls": {"key": "urls", "type": "[str]"},
+ "threats": {"key": "threats", "type": "[str]"},
+ "p1_sender": {"key": "p1Sender", "type": "str"},
+ "p1_sender_display_name": {"key": "p1SenderDisplayName", "type": "str"},
+ "p1_sender_domain": {"key": "p1SenderDomain", "type": "str"},
+ "sender_ip": {"key": "senderIP", "type": "str"},
+ "p2_sender": {"key": "p2Sender", "type": "str"},
+ "p2_sender_display_name": {"key": "p2SenderDisplayName", "type": "str"},
+ "p2_sender_domain": {"key": "p2SenderDomain", "type": "str"},
+ "receive_date": {"key": "receiveDate", "type": "iso-8601"},
+ "network_message_id": {"key": "networkMessageId", "type": "str"},
+ "internet_message_id": {"key": "internetMessageId", "type": "str"},
+ "subject": {"key": "subject", "type": "str"},
+ "language": {"key": "language", "type": "str"},
+ "threat_detection_methods": {"key": "threatDetectionMethods", "type": "[str]"},
+ "body_fingerprint_bin1": {"key": "bodyFingerprintBin1", "type": "int"},
+ "body_fingerprint_bin2": {"key": "bodyFingerprintBin2", "type": "int"},
+ "body_fingerprint_bin3": {"key": "bodyFingerprintBin3", "type": "int"},
+ "body_fingerprint_bin4": {"key": "bodyFingerprintBin4", "type": "int"},
+ "body_fingerprint_bin5": {"key": "bodyFingerprintBin5", "type": "int"},
+ "antispam_direction": {"key": "antispamDirection", "type": "str"},
+ "delivery_action": {"key": "deliveryAction", "type": "str"},
+ "delivery_location": {"key": "deliveryLocation", "type": "str"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ body_fingerprint_bin1: Optional[int] = None,
+ body_fingerprint_bin2: Optional[int] = None,
+ body_fingerprint_bin3: Optional[int] = None,
+ body_fingerprint_bin4: Optional[int] = None,
+ body_fingerprint_bin5: Optional[int] = None,
+ antispam_direction: Optional[Union[str, "_models.AntispamMailDirection"]] = None,
+ delivery_action: Optional[Union[str, "_models.DeliveryAction"]] = None,
+ delivery_location: Optional[Union[str, "_models.DeliveryLocation"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword body_fingerprint_bin1: The bodyFingerprintBin1.
+ :paramtype body_fingerprint_bin1: int
+ :keyword body_fingerprint_bin2: The bodyFingerprintBin2.
+ :paramtype body_fingerprint_bin2: int
+ :keyword body_fingerprint_bin3: The bodyFingerprintBin3.
+ :paramtype body_fingerprint_bin3: int
+ :keyword body_fingerprint_bin4: The bodyFingerprintBin4.
+ :paramtype body_fingerprint_bin4: int
+ :keyword body_fingerprint_bin5: The bodyFingerprintBin5.
+ :paramtype body_fingerprint_bin5: int
+ :keyword antispam_direction: The directionality of this mail message. Known values are:
+ "Unknown", "Inbound", "Outbound", and "Intraorg".
+ :paramtype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
+ :keyword delivery_action: The delivery action of this mail message like Delivered, Blocked,
+ Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
+ "Replaced".
+ :paramtype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
+ :keyword delivery_location: The delivery location of this mail message like Inbox, JunkFolder
+ etc. Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine",
+ "External", "Failed", "Dropped", and "Forwarded".
+ :paramtype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ """
+ super().__init__(**kwargs)
+ self.file_entity_ids = None
+ self.recipient = None
+ self.urls = None
+ self.threats = None
+ self.p1_sender = None
+ self.p1_sender_display_name = None
+ self.p1_sender_domain = None
+ self.sender_ip = None
+ self.p2_sender = None
+ self.p2_sender_display_name = None
+ self.p2_sender_domain = None
+ self.receive_date = None
+ self.network_message_id = None
+ self.internet_message_id = None
+ self.subject = None
+ self.language = None
+ self.threat_detection_methods = None
+ self.body_fingerprint_bin1 = body_fingerprint_bin1
+ self.body_fingerprint_bin2 = body_fingerprint_bin2
+ self.body_fingerprint_bin3 = body_fingerprint_bin3
+ self.body_fingerprint_bin4 = body_fingerprint_bin4
+ self.body_fingerprint_bin5 = body_fingerprint_bin5
+ self.antispam_direction = antispam_direction
+ self.delivery_action = delivery_action
+ self.delivery_location = delivery_location
+
+
+class MalwareEntity(Entity):
+ """Represents a malware entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar category: The malware category by the vendor, e.g. Trojan.
+ :vartype category: str
+ :ivar file_entity_ids: List of linked file entity identifiers on which the malware was found.
+ :vartype file_entity_ids: list[str]
+ :ivar malware_name: The malware name by the vendor, e.g. Win32/Toga!rfn.
+ :vartype malware_name: str
+ :ivar process_entity_ids: List of linked process entity identifiers on which the malware was
+ found.
+ :vartype process_entity_ids: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "category": {"readonly": True},
+ "file_entity_ids": {"readonly": True},
+ "malware_name": {"readonly": True},
+ "process_entity_ids": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "category": {"key": "properties.category", "type": "str"},
+ "file_entity_ids": {"key": "properties.fileEntityIds", "type": "[str]"},
+ "malware_name": {"key": "properties.malwareName", "type": "str"},
+ "process_entity_ids": {"key": "properties.processEntityIds", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "Malware"
+ self.additional_data = None
+ self.friendly_name = None
+ self.category = None
+ self.file_entity_ids = None
+ self.malware_name = None
+ self.process_entity_ids = None
+
+
+class MalwareEntityProperties(EntityCommonProperties):
+ """Malware entity property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar category: The malware category by the vendor, e.g. Trojan.
+ :vartype category: str
+ :ivar file_entity_ids: List of linked file entity identifiers on which the malware was found.
+ :vartype file_entity_ids: list[str]
+ :ivar malware_name: The malware name by the vendor, e.g. Win32/Toga!rfn.
+ :vartype malware_name: str
+ :ivar process_entity_ids: List of linked process entity identifiers on which the malware was
+ found.
+ :vartype process_entity_ids: list[str]
+ """
+
+ _validation = {
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "category": {"readonly": True},
+ "file_entity_ids": {"readonly": True},
+ "malware_name": {"readonly": True},
+ "process_entity_ids": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "category": {"key": "category", "type": "str"},
+ "file_entity_ids": {"key": "fileEntityIds", "type": "[str]"},
+ "malware_name": {"key": "malwareName", "type": "str"},
+ "process_entity_ids": {"key": "processEntityIds", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.category = None
+ self.file_entity_ids = None
+ self.malware_name = None
+ self.process_entity_ids = None
+
+
+class ManualTriggerRequestBody(_serialization.Model):
+ """ManualTriggerRequestBody.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ :ivar logic_apps_resource_id: Required.
+ :vartype logic_apps_resource_id: str
+ """
+
+ _validation = {
+ "logic_apps_resource_id": {"required": True},
+ }
+
+ _attribute_map = {
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "logic_apps_resource_id": {"key": "logicAppsResourceId", "type": "str"},
+ }
+
+ def __init__(self, *, logic_apps_resource_id: str, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ :keyword logic_apps_resource_id: Required.
+ :paramtype logic_apps_resource_id: str
+ """
+ super().__init__(**kwargs)
+ self.tenant_id = tenant_id
+ self.logic_apps_resource_id = logic_apps_resource_id
+
+
+class MCASCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents MCAS (Microsoft Cloud App Security) requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ }
+
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "MicrosoftCloudAppSecurity"
+ self.tenant_id = tenant_id
+
+
+class MCASCheckRequirementsProperties(DataConnectorTenantId):
+ """MCAS (Microsoft Cloud App Security) requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class MCASDataConnector(DataConnector):
+ """Represents MCAS (Microsoft Cloud App Security) data connector.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "MCASDataConnectorDataTypes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.MCASDataConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MicrosoftCloudAppSecurity"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
+
+
+class MCASDataConnectorDataTypes(AlertsDataTypeOfDataConnector):
+ """The available data types for MCAS (Microsoft Cloud App Security) data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar alerts: Alerts data type connection. Required.
+ :vartype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
+ :ivar discovery_logs: Discovery log data type connection.
+ :vartype discovery_logs: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
+ """
+
+ _validation = {
+ "alerts": {"required": True},
+ }
+
+ _attribute_map = {
+ "alerts": {"key": "alerts", "type": "DataConnectorDataTypeCommon"},
+ "discovery_logs": {"key": "discoveryLogs", "type": "DataConnectorDataTypeCommon"},
+ }
+
+ def __init__(
+ self,
+ *,
+ alerts: "_models.DataConnectorDataTypeCommon",
+ discovery_logs: Optional["_models.DataConnectorDataTypeCommon"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword alerts: Alerts data type connection. Required.
+ :paramtype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
+ :keyword discovery_logs: Discovery log data type connection.
+ :paramtype discovery_logs: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
+ """
+ super().__init__(alerts=alerts, **kwargs)
+ self.discovery_logs = discovery_logs
+
+
+class MCASDataConnectorProperties(DataConnectorTenantId):
+ """MCAS (Microsoft Cloud App Security) data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ """
+
+ _validation = {
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
+ }
+
+ _attribute_map = {
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "MCASDataConnectorDataTypes"},
+ }
+
+ def __init__(self, *, tenant_id: str, data_types: "_models.MCASDataConnectorDataTypes", **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ """
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
+
+
+class MDATPCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ }
+
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "MicrosoftDefenderAdvancedThreatProtection"
+ self.tenant_id = tenant_id
+
+
+class MDATPCheckRequirementsProperties(DataConnectorTenantId):
+ """MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class MDATPDataConnector(DataConnector):
+ """Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MicrosoftDefenderAdvancedThreatProtection"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
+
+
+class MDATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
+ """MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ "tenant_id": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ }
+
+ def __init__(
+ self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ """
+ super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
+ self.data_types = data_types
+ self.tenant_id = tenant_id
+
+
+class MetadataAuthor(_serialization.Model):
+ """Publisher or creator of the content item.
+
+ :ivar name: Name of the author. Company or person.
+ :vartype name: str
+ :ivar email: Email of author contact.
+ :vartype email: str
+ :ivar link: Link for author/vendor page.
+ :vartype link: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "email": {"key": "email", "type": "str"},
+ "link": {"key": "link", "type": "str"},
+ }
+
+ def __init__(
+ self, *, name: Optional[str] = None, email: Optional[str] = None, link: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: Name of the author. Company or person.
+ :paramtype name: str
+ :keyword email: Email of author contact.
+ :paramtype email: str
+ :keyword link: Link for author/vendor page.
+ :paramtype link: str
+ """
+ super().__init__(**kwargs)
+ self.name = name
+ self.email = email
+ self.link = link
+
+
+class MetadataCategories(_serialization.Model):
+ """ies for the solution content item.
+
+ :ivar domains: domain for the solution content item.
+ :vartype domains: list[str]
+ :ivar verticals: Industry verticals for the solution content item.
+ :vartype verticals: list[str]
+ """
+
+ _attribute_map = {
+ "domains": {"key": "domains", "type": "[str]"},
+ "verticals": {"key": "verticals", "type": "[str]"},
+ }
+
+ def __init__(
+ self, *, domains: Optional[List[str]] = None, verticals: Optional[List[str]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword domains: domain for the solution content item.
+ :paramtype domains: list[str]
+ :keyword verticals: Industry verticals for the solution content item.
+ :paramtype verticals: list[str]
+ """
+ super().__init__(**kwargs)
+ self.domains = domains
+ self.verticals = verticals
+
+
+class MetadataDependencies(_serialization.Model):
+ """Dependencies for the content item, what other content items it requires to work. Can describe
+ more complex dependencies using a recursive/nested structure. For a single dependency an
+ id/kind/version can be supplied or operator/criteria for complex dependencies.
+
+ :ivar content_id: Id of the content item we depend on.
+ :vartype content_id: str
+ :ivar kind: Type of the content item we depend on. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar version: Version of the the content item we depend on. Can be blank, * or missing to
+ indicate any version fulfills the dependency. If version does not match our defined numeric
+ format then an exact match is required.
+ :vartype version: str
+ :ivar name: Name of the content item.
+ :vartype name: str
+ :ivar operator: Operator used for list of dependencies in criteria array. Known values are:
+ "Equals", "NotEquals", "LessThan", "LessThanEqual", "GreaterThan", "GreaterThanEqual",
+ "StringContains", "StringNotContains", "StringStartsWith", "StringNotStartsWith",
+ "StringEndsWith", "StringNotEndsWith", "StringIsEmpty", "IsNull", "IsTrue", "IsFalse",
+ "ArrayContains", "ArrayNotContains", "OnOrAfterRelative", "AfterRelative",
+ "OnOrBeforeRelative", "BeforeRelative", "OnOrAfterAbsolute", "AfterAbsolute",
+ "OnOrBeforeAbsolute", and "BeforeAbsolute".
+ :vartype operator: str or ~azure.mgmt.securityinsight.models.Operator
+ :ivar criteria: This is the list of dependencies we must fulfill, according to the AND/OR
+ operator.
+ :vartype criteria: list[~azure.mgmt.securityinsight.models.MetadataDependencies]
+ """
+
+ _attribute_map = {
+ "content_id": {"key": "contentId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "operator": {"key": "operator", "type": "str"},
+ "criteria": {"key": "criteria", "type": "[MetadataDependencies]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ content_id: Optional[str] = None,
+ kind: Optional[Union[str, "_models.Kind"]] = None,
+ version: Optional[str] = None,
+ name: Optional[str] = None,
+ operator: Optional[Union[str, "_models.Operator"]] = None,
+ criteria: Optional[List["_models.MetadataDependencies"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword content_id: Id of the content item we depend on.
+ :paramtype content_id: str
+ :keyword kind: Type of the content item we depend on. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword version: Version of the the content item we depend on. Can be blank, * or missing to
+ indicate any version fulfills the dependency. If version does not match our defined numeric
+ format then an exact match is required.
+ :paramtype version: str
+ :keyword name: Name of the content item.
+ :paramtype name: str
+ :keyword operator: Operator used for list of dependencies in criteria array. Known values are:
+ "Equals", "NotEquals", "LessThan", "LessThanEqual", "GreaterThan", "GreaterThanEqual",
+ "StringContains", "StringNotContains", "StringStartsWith", "StringNotStartsWith",
+ "StringEndsWith", "StringNotEndsWith", "StringIsEmpty", "IsNull", "IsTrue", "IsFalse",
+ "ArrayContains", "ArrayNotContains", "OnOrAfterRelative", "AfterRelative",
+ "OnOrBeforeRelative", "BeforeRelative", "OnOrAfterAbsolute", "AfterAbsolute",
+ "OnOrBeforeAbsolute", and "BeforeAbsolute".
+ :paramtype operator: str or ~azure.mgmt.securityinsight.models.Operator
+ :keyword criteria: This is the list of dependencies we must fulfill, according to the AND/OR
+ operator.
+ :paramtype criteria: list[~azure.mgmt.securityinsight.models.MetadataDependencies]
+ """
+ super().__init__(**kwargs)
+ self.content_id = content_id
+ self.kind = kind
+ self.version = version
+ self.name = name
+ self.operator = operator
+ self.criteria = criteria
+
+
+class MetadataList(_serialization.Model):
+ """List of all the metadata.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of metadata. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.MetadataModel]
+ :ivar next_link: URL to fetch the next page of metadata.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[MetadataModel]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.MetadataModel"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of metadata. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.MetadataModel]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class MetadataModel(ResourceWithEtag):
+ """Metadata resource definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar parent_id: Full parent resource ID of the content item the metadata is for. This is the
+ full resource ID including the scope (subscription and resource group).
+ :vartype parent_id: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar kind: The kind of content the metadata is for.
+ :vartype kind: str
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the metadata - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the solution content item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the solution content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date solution content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the solution content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the solution template.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "parent_id": {"key": "properties.parentId", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "kind": {"key": "properties.kind", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "custom_version": {"key": "properties.customVersion", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "properties.previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ parent_id: Optional[str] = None,
+ version: Optional[str] = None,
+ kind: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword parent_id: Full parent resource ID of the content item the metadata is for. This is
+ the full resource ID including the scope (subscription and resource group).
+ :paramtype parent_id: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword kind: The kind of content the metadata is for.
+ :paramtype kind: str
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the metadata - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the solution content item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the solution content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date solution content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the solution content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the solution template.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.parent_id = parent_id
+ self.version = version
+ self.kind = kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+
+
+class MetadataPatch(ResourceWithEtag):
+ """Metadata patch request body.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar parent_id: Full parent resource ID of the content item the metadata is for. This is the
+ full resource ID including the scope (subscription and resource group).
+ :vartype parent_id: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar kind: The kind of content the metadata is for.
+ :vartype kind: str
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the metadata - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the solution content item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the solution content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date solution content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the solution content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the solution template.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "parent_id": {"key": "properties.parentId", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "kind": {"key": "properties.kind", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "custom_version": {"key": "properties.customVersion", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "properties.previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
}
def __init__( # pylint: disable=too-many-locals
self,
*,
- body_fingerprint_bin1: Optional[int] = None,
- body_fingerprint_bin2: Optional[int] = None,
- body_fingerprint_bin3: Optional[int] = None,
- body_fingerprint_bin4: Optional[int] = None,
- body_fingerprint_bin5: Optional[int] = None,
- antispam_direction: Optional[Union[str, "_models.AntispamMailDirection"]] = None,
- delivery_action: Optional[Union[str, "_models.DeliveryAction"]] = None,
- delivery_location: Optional[Union[str, "_models.DeliveryLocation"]] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ parent_id: Optional[str] = None,
+ version: Optional[str] = None,
+ kind: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword parent_id: Full parent resource ID of the content item the metadata is for. This is
+ the full resource ID including the scope (subscription and resource group).
+ :paramtype parent_id: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword kind: The kind of content the metadata is for.
+ :paramtype kind: str
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the metadata - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the solution content item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the solution content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date solution content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the solution content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the solution template.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.parent_id = parent_id
+ self.version = version
+ self.kind = kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+
+
+class MetadataSource(_serialization.Model):
+ """The original source of the content item, where it comes from.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Source type of the content. Required. Known values are: "LocalWorkspace",
+ "Community", "Solution", and "SourceRepository".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.SourceKind
+ :ivar name: Name of the content source. The repo name, solution name, LA workspace name etc.
+ :vartype name: str
+ :ivar source_id: ID of the content source. The solution ID, workspace ID, etc.
+ :vartype source_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "source_id": {"key": "sourceId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ kind: Union[str, "_models.SourceKind"],
+ name: Optional[str] = None,
+ source_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kind: Source type of the content. Required. Known values are: "LocalWorkspace",
+ "Community", "Solution", and "SourceRepository".
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.SourceKind
+ :keyword name: Name of the content source. The repo name, solution name, LA workspace name
+ etc.
+ :paramtype name: str
+ :keyword source_id: ID of the content source. The solution ID, workspace ID, etc.
+ :paramtype source_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind = kind
+ self.name = name
+ self.source_id = source_id
+
+
+class MetadataSupport(_serialization.Model):
+ """Support information for the content item.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tier: Type of support for content item. Required. Known values are: "Microsoft",
+ "Partner", and "Community".
+ :vartype tier: str or ~azure.mgmt.securityinsight.models.SupportTier
+ :ivar name: Name of the support contact. Company or person.
+ :vartype name: str
+ :ivar email: Email of support contact.
+ :vartype email: str
+ :ivar link: Link for support help, like to support page to open a ticket etc.
+ :vartype link: str
+ """
+
+ _validation = {
+ "tier": {"required": True},
+ }
+
+ _attribute_map = {
+ "tier": {"key": "tier", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "email": {"key": "email", "type": "str"},
+ "link": {"key": "link", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ tier: Union[str, "_models.SupportTier"],
+ name: Optional[str] = None,
+ email: Optional[str] = None,
+ link: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tier: Type of support for content item. Required. Known values are: "Microsoft",
+ "Partner", and "Community".
+ :paramtype tier: str or ~azure.mgmt.securityinsight.models.SupportTier
+ :keyword name: Name of the support contact. Company or person.
+ :paramtype name: str
+ :keyword email: Email of support contact.
+ :paramtype email: str
+ :keyword link: Link for support help, like to support page to open a ticket etc.
+ :paramtype link: str
+ """
+ super().__init__(**kwargs)
+ self.tier = tier
+ self.name = name
+ self.email = email
+ self.link = link
+
+
+class MicrosoftPurviewInformationProtectionCheckRequirements(
+ DataConnectorsCheckRequirements
+): # pylint: disable=name-too-long
+ """Represents MicrosoftPurviewInformationProtection requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ }
+
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "MicrosoftPurviewInformationProtection"
+ self.tenant_id = tenant_id
+
+
+class MicrosoftPurviewInformationProtectionCheckRequirementsProperties(
+ DataConnectorTenantId
+): # pylint: disable=name-too-long
+ """MicrosoftPurviewInformationProtection requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class MicrosoftPurviewInformationProtectionConnectorDataTypes(_serialization.Model): # pylint: disable=name-too-long
+ """The available data types for Microsoft Purview Information Protection data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar logs: Logs data type. Required.
+ :vartype logs:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypesLogs
+ """
+
+ _validation = {
+ "logs": {"required": True},
+ }
+
+ _attribute_map = {
+ "logs": {"key": "logs", "type": "MicrosoftPurviewInformationProtectionConnectorDataTypesLogs"},
+ }
+
+ def __init__(
+ self, *, logs: "_models.MicrosoftPurviewInformationProtectionConnectorDataTypesLogs", **kwargs: Any
+ ) -> None:
+ """
+ :keyword logs: Logs data type. Required.
+ :paramtype logs:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypesLogs
+ """
+ super().__init__(**kwargs)
+ self.logs = logs
+
+
+class MicrosoftPurviewInformationProtectionConnectorDataTypesLogs(
+ DataConnectorDataTypeCommon
+): # pylint: disable=name-too-long
+ """Logs data type.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class MicrosoftPurviewInformationProtectionDataConnector(DataConnector): # pylint: disable=name-too-long
+ """Represents Microsoft Purview Information Protection data connector.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypes
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {
+ "key": "properties.dataTypes",
+ "type": "MicrosoftPurviewInformationProtectionConnectorDataTypes",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.MicrosoftPurviewInformationProtectionConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypes
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MicrosoftPurviewInformationProtection"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
+
+
+class MicrosoftPurviewInformationProtectionDataConnectorProperties(
+ DataConnectorTenantId
+): # pylint: disable=name-too-long
+ """Microsoft Purview Information Protection data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypes
+ """
+
+ _validation = {
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
+ }
+
+ _attribute_map = {
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "MicrosoftPurviewInformationProtectionConnectorDataTypes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ tenant_id: str,
+ data_types: "_models.MicrosoftPurviewInformationProtectionConnectorDataTypes",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types:
+ ~azure.mgmt.securityinsight.models.MicrosoftPurviewInformationProtectionConnectorDataTypes
+ """
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
+
+
+class MicrosoftSecurityIncidentCreationAlertRule(AlertRule): # pylint: disable=name-too-long
+ """Represents MicrosoftSecurityIncidentCreation rule.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :vartype display_names_filter: list[str]
+ :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :vartype display_names_exclude_filter: list[str]
+ :ivar product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :ivar severities_filter: the alerts' severities on which the cases will be generated.
+ :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
+ :vartype alert_rule_template_name: str
+ :ivar description: The description of the alert rule.
+ :vartype description: str
+ :ivar display_name: The display name for alerts created by this alert rule.
+ :vartype display_name: str
+ :ivar enabled: Determines whether this alert rule is enabled or disabled.
+ :vartype enabled: bool
+ :ivar last_modified_utc: The last time that this alert has been modified.
+ :vartype last_modified_utc: ~datetime.datetime
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "last_modified_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "display_names_filter": {"key": "properties.displayNamesFilter", "type": "[str]"},
+ "display_names_exclude_filter": {"key": "properties.displayNamesExcludeFilter", "type": "[str]"},
+ "product_filter": {"key": "properties.productFilter", "type": "str"},
+ "severities_filter": {"key": "properties.severitiesFilter", "type": "[str]"},
+ "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "enabled": {"key": "properties.enabled", "type": "bool"},
+ "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ display_names_filter: Optional[List[str]] = None,
+ display_names_exclude_filter: Optional[List[str]] = None,
+ product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
+ severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ alert_rule_template_name: Optional[str] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ enabled: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :paramtype display_names_filter: list[str]
+ :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :paramtype display_names_exclude_filter: list[str]
+ :keyword product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :paramtype product_filter: str or
+ ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :keyword severities_filter: the alerts' severities on which the cases will be generated.
+ :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :keyword alert_rule_template_name: The Name of the alert rule template used to create this
+ rule.
+ :paramtype alert_rule_template_name: str
+ :keyword description: The description of the alert rule.
+ :paramtype description: str
+ :keyword display_name: The display name for alerts created by this alert rule.
+ :paramtype display_name: str
+ :keyword enabled: Determines whether this alert rule is enabled or disabled.
+ :paramtype enabled: bool
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MicrosoftSecurityIncidentCreation"
+ self.display_names_filter = display_names_filter
+ self.display_names_exclude_filter = display_names_exclude_filter
+ self.product_filter = product_filter
+ self.severities_filter = severities_filter
+ self.alert_rule_template_name = alert_rule_template_name
+ self.description = description
+ self.display_name = display_name
+ self.enabled = enabled
+ self.last_modified_utc = None
+
+
+class MicrosoftSecurityIncidentCreationAlertRuleCommonProperties(_serialization.Model): # pylint: disable=name-too-long
+ """MicrosoftSecurityIncidentCreation rule common property bag.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :vartype display_names_filter: list[str]
+ :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :vartype display_names_exclude_filter: list[str]
+ :ivar product_filter: The alerts' productName on which the cases will be generated. Required.
+ Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced
+ Threat Protection", "Azure Active Directory Identity Protection", "Azure Security Center for
+ IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat
+ Protection".
+ :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :ivar severities_filter: the alerts' severities on which the cases will be generated.
+ :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+
+ _validation = {
+ "product_filter": {"required": True},
+ }
+
+ _attribute_map = {
+ "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
+ "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
+ "product_filter": {"key": "productFilter", "type": "str"},
+ "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ product_filter: Union[str, "_models.MicrosoftSecurityProductName"],
+ display_names_filter: Optional[List[str]] = None,
+ display_names_exclude_filter: Optional[List[str]] = None,
+ severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :paramtype display_names_filter: list[str]
+ :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :paramtype display_names_exclude_filter: list[str]
+ :keyword product_filter: The alerts' productName on which the cases will be generated.
+ Required. Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure
+ Advanced Threat Protection", "Azure Active Directory Identity Protection", "Azure Security
+ Center for IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced
+ Threat Protection".
+ :paramtype product_filter: str or
+ ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :keyword severities_filter: the alerts' severities on which the cases will be generated.
+ :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+ super().__init__(**kwargs)
+ self.display_names_filter = display_names_filter
+ self.display_names_exclude_filter = display_names_exclude_filter
+ self.product_filter = product_filter
+ self.severities_filter = severities_filter
+
+
+class MicrosoftSecurityIncidentCreationAlertRuleProperties(
+ MicrosoftSecurityIncidentCreationAlertRuleCommonProperties
+): # pylint: disable=name-too-long
+ """MicrosoftSecurityIncidentCreation rule property bag.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :vartype display_names_filter: list[str]
+ :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :vartype display_names_exclude_filter: list[str]
+ :ivar product_filter: The alerts' productName on which the cases will be generated. Required.
+ Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced
+ Threat Protection", "Azure Active Directory Identity Protection", "Azure Security Center for
+ IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat
+ Protection".
+ :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :ivar severities_filter: the alerts' severities on which the cases will be generated.
+ :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
+ :vartype alert_rule_template_name: str
+ :ivar description: The description of the alert rule.
+ :vartype description: str
+ :ivar display_name: The display name for alerts created by this alert rule. Required.
+ :vartype display_name: str
+ :ivar enabled: Determines whether this alert rule is enabled or disabled. Required.
+ :vartype enabled: bool
+ :ivar last_modified_utc: The last time that this alert has been modified.
+ :vartype last_modified_utc: ~datetime.datetime
+ """
+
+ _validation = {
+ "product_filter": {"required": True},
+ "display_name": {"required": True},
+ "enabled": {"required": True},
+ "last_modified_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
+ "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
+ "product_filter": {"key": "productFilter", "type": "str"},
+ "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
+ "alert_rule_template_name": {"key": "alertRuleTemplateName", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "enabled": {"key": "enabled", "type": "bool"},
+ "last_modified_utc": {"key": "lastModifiedUtc", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ product_filter: Union[str, "_models.MicrosoftSecurityProductName"],
+ display_name: str,
+ enabled: bool,
+ display_names_filter: Optional[List[str]] = None,
+ display_names_exclude_filter: Optional[List[str]] = None,
+ severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ alert_rule_template_name: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :paramtype display_names_filter: list[str]
+ :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :paramtype display_names_exclude_filter: list[str]
+ :keyword product_filter: The alerts' productName on which the cases will be generated.
+ Required. Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure
+ Advanced Threat Protection", "Azure Active Directory Identity Protection", "Azure Security
+ Center for IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced
+ Threat Protection".
+ :paramtype product_filter: str or
+ ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :keyword severities_filter: the alerts' severities on which the cases will be generated.
+ :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :keyword alert_rule_template_name: The Name of the alert rule template used to create this
+ rule.
+ :paramtype alert_rule_template_name: str
+ :keyword description: The description of the alert rule.
+ :paramtype description: str
+ :keyword display_name: The display name for alerts created by this alert rule. Required.
+ :paramtype display_name: str
+ :keyword enabled: Determines whether this alert rule is enabled or disabled. Required.
+ :paramtype enabled: bool
+ """
+ super().__init__(
+ display_names_filter=display_names_filter,
+ display_names_exclude_filter=display_names_exclude_filter,
+ product_filter=product_filter,
+ severities_filter=severities_filter,
+ **kwargs
+ )
+ self.alert_rule_template_name = alert_rule_template_name
+ self.description = description
+ self.display_name = display_name
+ self.enabled = enabled
+ self.last_modified_utc = None
+
+
+class MicrosoftSecurityIncidentCreationAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=name-too-long
+ """Represents MicrosoftSecurityIncidentCreation rule template.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :vartype display_names_filter: list[str]
+ :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :vartype display_names_exclude_filter: list[str]
+ :ivar product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :ivar severities_filter: the alerts' severities on which the cases will be generated.
+ :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "required_data_connectors": {
+ "key": "properties.requiredDataConnectors",
+ "type": "[AlertRuleTemplateDataSource]",
+ },
+ "status": {"key": "properties.status", "type": "str"},
+ "display_names_filter": {"key": "properties.displayNamesFilter", "type": "[str]"},
+ "display_names_exclude_filter": {"key": "properties.displayNamesExcludeFilter", "type": "[str]"},
+ "product_filter": {"key": "properties.productFilter", "type": "str"},
+ "severities_filter": {"key": "properties.severitiesFilter", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ display_names_filter: Optional[List[str]] = None,
+ display_names_exclude_filter: Optional[List[str]] = None,
+ product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
+ severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :paramtype display_names_filter: list[str]
+ :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :paramtype display_names_exclude_filter: list[str]
+ :keyword product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :paramtype product_filter: str or
+ ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :keyword severities_filter: the alerts' severities on which the cases will be generated.
+ :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "MicrosoftSecurityIncidentCreation"
+ self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
+ self.last_updated_date_utc = None
+ self.created_date_utc = None
+ self.description = description
+ self.display_name = display_name
+ self.required_data_connectors = required_data_connectors
+ self.status = status
+ self.display_names_filter = display_names_filter
+ self.display_names_exclude_filter = display_names_exclude_filter
+ self.product_filter = product_filter
+ self.severities_filter = severities_filter
+
+
+class MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties(
+ AlertRuleTemplatePropertiesBase
+): # pylint: disable=name-too-long
+ """MicrosoftSecurityIncidentCreation rule template properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :vartype display_names_filter: list[str]
+ :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :vartype display_names_exclude_filter: list[str]
+ :ivar product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :ivar severities_filter: the alerts' severities on which the cases will be generated.
+ :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+
+ _validation = {
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "description", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
+ "status": {"key": "status", "type": "str"},
+ "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
+ "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
+ "product_filter": {"key": "productFilter", "type": "str"},
+ "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ display_names_filter: Optional[List[str]] = None,
+ display_names_exclude_filter: Optional[List[str]] = None,
+ product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
+ severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
+ :paramtype display_names_filter: list[str]
+ :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
+ generated.
+ :paramtype display_names_exclude_filter: list[str]
+ :keyword product_filter: The alerts' productName on which the cases will be generated. Known
+ values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
+ Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
+ "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
+ :paramtype product_filter: str or
+ ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
+ :keyword severities_filter: the alerts' severities on which the cases will be generated.
+ :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ """
+ super().__init__(
+ alert_rules_created_by_template_count=alert_rules_created_by_template_count,
+ description=description,
+ display_name=display_name,
+ required_data_connectors=required_data_connectors,
+ status=status,
+ **kwargs
+ )
+ self.display_names_filter = display_names_filter
+ self.display_names_exclude_filter = display_names_exclude_filter
+ self.product_filter = product_filter
+ self.severities_filter = severities_filter
+
+
+class MLBehaviorAnalyticsAlertRule(AlertRule):
+ """Represents MLBehaviorAnalytics alert rule.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
+ :vartype alert_rule_template_name: str
+ :ivar description: The description of the alert rule.
+ :vartype description: str
+ :ivar display_name: The display name for alerts created by this alert rule.
+ :vartype display_name: str
+ :ivar enabled: Determines whether this alert rule is enabled or disabled.
+ :vartype enabled: bool
+ :ivar last_modified_utc: The last time that this alert rule has been modified.
+ :vartype last_modified_utc: ~datetime.datetime
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "description": {"readonly": True},
+ "display_name": {"readonly": True},
+ "last_modified_utc": {"readonly": True},
+ "severity": {"readonly": True},
+ "tactics": {"readonly": True},
+ "techniques": {"readonly": True},
+ "sub_techniques": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "enabled": {"key": "properties.enabled", "type": "bool"},
+ "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ alert_rule_template_name: Optional[str] = None,
+ enabled: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword alert_rule_template_name: The Name of the alert rule template used to create this
+ rule.
+ :paramtype alert_rule_template_name: str
+ :keyword enabled: Determines whether this alert rule is enabled or disabled.
+ :paramtype enabled: bool
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MLBehaviorAnalytics"
+ self.alert_rule_template_name = alert_rule_template_name
+ self.description = None
+ self.display_name = None
+ self.enabled = enabled
+ self.last_modified_utc = None
+ self.severity = None
+ self.tactics = None
+ self.techniques = None
+ self.sub_techniques = None
+
+
+class MLBehaviorAnalyticsAlertRuleTemplate(AlertRuleTemplate):
+ """Represents MLBehaviorAnalytics alert rule template.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "required_data_connectors": {
+ "key": "properties.requiredDataConnectors",
+ "type": "[AlertRuleTemplateDataSource]",
+ },
+ "status": {"key": "properties.status", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword body_fingerprint_bin1: The bodyFingerprintBin1.
- :paramtype body_fingerprint_bin1: int
- :keyword body_fingerprint_bin2: The bodyFingerprintBin2.
- :paramtype body_fingerprint_bin2: int
- :keyword body_fingerprint_bin3: The bodyFingerprintBin3.
- :paramtype body_fingerprint_bin3: int
- :keyword body_fingerprint_bin4: The bodyFingerprintBin4.
- :paramtype body_fingerprint_bin4: int
- :keyword body_fingerprint_bin5: The bodyFingerprintBin5.
- :paramtype body_fingerprint_bin5: int
- :keyword antispam_direction: The directionality of this mail message. Known values are:
- "Unknown", "Inbound", "Outbound", and "Intraorg".
- :paramtype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
- :keyword delivery_action: The delivery action of this mail message like Delivered, Blocked,
- Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
- "Replaced".
- :paramtype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
- :keyword delivery_location: The delivery location of this mail message like Inbox, JunkFolder
- etc. Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine",
- "External", "Failed", "Dropped", and "Forwarded".
- :paramtype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword tactics: The tactics of the alert rule.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
"""
super().__init__(**kwargs)
- self.kind: str = "MailMessage"
- self.additional_data = None
- self.friendly_name = None
- self.file_entity_ids = None
- self.recipient = None
- self.urls = None
- self.threats = None
- self.p1_sender = None
- self.p1_sender_display_name = None
- self.p1_sender_domain = None
- self.sender_ip = None
- self.p2_sender = None
- self.p2_sender_display_name = None
- self.p2_sender_domain = None
- self.receive_date = None
- self.network_message_id = None
- self.internet_message_id = None
- self.subject = None
- self.language = None
- self.threat_detection_methods = None
- self.body_fingerprint_bin1 = body_fingerprint_bin1
- self.body_fingerprint_bin2 = body_fingerprint_bin2
- self.body_fingerprint_bin3 = body_fingerprint_bin3
- self.body_fingerprint_bin4 = body_fingerprint_bin4
- self.body_fingerprint_bin5 = body_fingerprint_bin5
- self.antispam_direction = antispam_direction
- self.delivery_action = delivery_action
- self.delivery_location = delivery_location
+ self.kind: str = "MLBehaviorAnalytics"
+ self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
+ self.last_updated_date_utc = None
+ self.created_date_utc = None
+ self.description = description
+ self.display_name = display_name
+ self.required_data_connectors = required_data_connectors
+ self.status = status
+ self.tactics = tactics
+ self.techniques = techniques
+ self.severity = severity
-class MailMessageEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Mail message entity property bag.
+class MLBehaviorAnalyticsAlertRuleTemplateProperties(
+ AlertRuleTemplateWithMitreProperties
+): # pylint: disable=name-too-long
+ """MLBehaviorAnalytics alert rule template properties.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar file_entity_ids: The File entity ids of this mail message's attachments.
- :vartype file_entity_ids: list[str]
- :ivar recipient: The recipient of this mail message. Note that in case of multiple recipients
- the mail message is forked and each copy has one recipient.
- :vartype recipient: str
- :ivar urls: The Urls contained in this mail message.
- :vartype urls: list[str]
- :ivar threats: The threats of this mail message.
- :vartype threats: list[str]
- :ivar p1_sender: The p1 sender's email address.
- :vartype p1_sender: str
- :ivar p1_sender_display_name: The p1 sender's display name.
- :vartype p1_sender_display_name: str
- :ivar p1_sender_domain: The p1 sender's domain.
- :vartype p1_sender_domain: str
- :ivar sender_ip: The sender's IP address.
- :vartype sender_ip: str
- :ivar p2_sender: The p2 sender's email address.
- :vartype p2_sender: str
- :ivar p2_sender_display_name: The p2 sender's display name.
- :vartype p2_sender_display_name: str
- :ivar p2_sender_domain: The p2 sender's domain.
- :vartype p2_sender_domain: str
- :ivar receive_date: The receive date of this message.
- :vartype receive_date: ~datetime.datetime
- :ivar network_message_id: The network message id of this mail message.
- :vartype network_message_id: str
- :ivar internet_message_id: The internet message id of this mail message.
- :vartype internet_message_id: str
- :ivar subject: The subject of this mail message.
- :vartype subject: str
- :ivar language: The language of this mail message.
- :vartype language: str
- :ivar threat_detection_methods: The threat detection methods.
- :vartype threat_detection_methods: list[str]
- :ivar body_fingerprint_bin1: The bodyFingerprintBin1.
- :vartype body_fingerprint_bin1: int
- :ivar body_fingerprint_bin2: The bodyFingerprintBin2.
- :vartype body_fingerprint_bin2: int
- :ivar body_fingerprint_bin3: The bodyFingerprintBin3.
- :vartype body_fingerprint_bin3: int
- :ivar body_fingerprint_bin4: The bodyFingerprintBin4.
- :vartype body_fingerprint_bin4: int
- :ivar body_fingerprint_bin5: The bodyFingerprintBin5.
- :vartype body_fingerprint_bin5: int
- :ivar antispam_direction: The directionality of this mail message. Known values are: "Unknown",
- "Inbound", "Outbound", and "Intraorg".
- :vartype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
- :ivar delivery_action: The delivery action of this mail message like Delivered, Blocked,
- Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
- "Replaced".
- :vartype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
- :ivar delivery_location: The delivery location of this mail message like Inbox, JunkFolder etc.
- Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine", "External",
- "Failed", "Dropped", and "Forwarded".
- :vartype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ All required parameters must be populated in order to send to server.
+
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar severity: The severity for alerts created by this alert rule. Required. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ """
+
+ _validation = {
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
+ "severity": {"required": True},
+ }
+
+ _attribute_map = {
+ "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "description", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
+ "status": {"key": "status", "type": "str"},
+ "tactics": {"key": "tactics", "type": "[str]"},
+ "techniques": {"key": "techniques", "type": "[str]"},
+ "severity": {"key": "severity", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ severity: Union[str, "_models.AlertSeverity"],
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword tactics: The tactics of the alert rule.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
+ :keyword severity: The severity for alerts created by this alert rule. Required. Known values
+ are: "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ """
+ super().__init__(
+ alert_rules_created_by_template_count=alert_rules_created_by_template_count,
+ description=description,
+ display_name=display_name,
+ required_data_connectors=required_data_connectors,
+ status=status,
+ tactics=tactics,
+ techniques=techniques,
+ **kwargs
+ )
+ self.severity = severity
+
+
+class MSTICheckRequirements(DataConnectorsCheckRequirements):
+ """Represents Microsoft Threat Intelligence requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "file_entity_ids": {"readonly": True},
- "recipient": {"readonly": True},
- "urls": {"readonly": True},
- "threats": {"readonly": True},
- "p1_sender": {"readonly": True},
- "p1_sender_display_name": {"readonly": True},
- "p1_sender_domain": {"readonly": True},
- "sender_ip": {"readonly": True},
- "p2_sender": {"readonly": True},
- "p2_sender_display_name": {"readonly": True},
- "p2_sender_domain": {"readonly": True},
- "receive_date": {"readonly": True},
- "network_message_id": {"readonly": True},
- "internet_message_id": {"readonly": True},
- "subject": {"readonly": True},
- "language": {"readonly": True},
- "threat_detection_methods": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "file_entity_ids": {"key": "fileEntityIds", "type": "[str]"},
- "recipient": {"key": "recipient", "type": "str"},
- "urls": {"key": "urls", "type": "[str]"},
- "threats": {"key": "threats", "type": "[str]"},
- "p1_sender": {"key": "p1Sender", "type": "str"},
- "p1_sender_display_name": {"key": "p1SenderDisplayName", "type": "str"},
- "p1_sender_domain": {"key": "p1SenderDomain", "type": "str"},
- "sender_ip": {"key": "senderIP", "type": "str"},
- "p2_sender": {"key": "p2Sender", "type": "str"},
- "p2_sender_display_name": {"key": "p2SenderDisplayName", "type": "str"},
- "p2_sender_domain": {"key": "p2SenderDomain", "type": "str"},
- "receive_date": {"key": "receiveDate", "type": "iso-8601"},
- "network_message_id": {"key": "networkMessageId", "type": "str"},
- "internet_message_id": {"key": "internetMessageId", "type": "str"},
- "subject": {"key": "subject", "type": "str"},
- "language": {"key": "language", "type": "str"},
- "threat_detection_methods": {"key": "threatDetectionMethods", "type": "[str]"},
- "body_fingerprint_bin1": {"key": "bodyFingerprintBin1", "type": "int"},
- "body_fingerprint_bin2": {"key": "bodyFingerprintBin2", "type": "int"},
- "body_fingerprint_bin3": {"key": "bodyFingerprintBin3", "type": "int"},
- "body_fingerprint_bin4": {"key": "bodyFingerprintBin4", "type": "int"},
- "body_fingerprint_bin5": {"key": "bodyFingerprintBin5", "type": "int"},
- "antispam_direction": {"key": "antispamDirection", "type": "str"},
- "delivery_action": {"key": "deliveryAction", "type": "str"},
- "delivery_location": {"key": "deliveryLocation", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__( # pylint: disable=too-many-locals
- self,
- *,
- body_fingerprint_bin1: Optional[int] = None,
- body_fingerprint_bin2: Optional[int] = None,
- body_fingerprint_bin3: Optional[int] = None,
- body_fingerprint_bin4: Optional[int] = None,
- body_fingerprint_bin5: Optional[int] = None,
- antispam_direction: Optional[Union[str, "_models.AntispamMailDirection"]] = None,
- delivery_action: Optional[Union[str, "_models.DeliveryAction"]] = None,
- delivery_location: Optional[Union[str, "_models.DeliveryLocation"]] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword body_fingerprint_bin1: The bodyFingerprintBin1.
- :paramtype body_fingerprint_bin1: int
- :keyword body_fingerprint_bin2: The bodyFingerprintBin2.
- :paramtype body_fingerprint_bin2: int
- :keyword body_fingerprint_bin3: The bodyFingerprintBin3.
- :paramtype body_fingerprint_bin3: int
- :keyword body_fingerprint_bin4: The bodyFingerprintBin4.
- :paramtype body_fingerprint_bin4: int
- :keyword body_fingerprint_bin5: The bodyFingerprintBin5.
- :paramtype body_fingerprint_bin5: int
- :keyword antispam_direction: The directionality of this mail message. Known values are:
- "Unknown", "Inbound", "Outbound", and "Intraorg".
- :paramtype antispam_direction: str or ~azure.mgmt.securityinsight.models.AntispamMailDirection
- :keyword delivery_action: The delivery action of this mail message like Delivered, Blocked,
- Replaced etc. Known values are: "Unknown", "DeliveredAsSpam", "Delivered", "Blocked", and
- "Replaced".
- :paramtype delivery_action: str or ~azure.mgmt.securityinsight.models.DeliveryAction
- :keyword delivery_location: The delivery location of this mail message like Inbox, JunkFolder
- etc. Known values are: "Unknown", "Inbox", "JunkFolder", "DeletedFolder", "Quarantine",
- "External", "Failed", "Dropped", and "Forwarded".
- :paramtype delivery_location: str or ~azure.mgmt.securityinsight.models.DeliveryLocation
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
"""
super().__init__(**kwargs)
- self.file_entity_ids = None
- self.recipient = None
- self.urls = None
- self.threats = None
- self.p1_sender = None
- self.p1_sender_display_name = None
- self.p1_sender_domain = None
- self.sender_ip = None
- self.p2_sender = None
- self.p2_sender_display_name = None
- self.p2_sender_domain = None
- self.receive_date = None
- self.network_message_id = None
- self.internet_message_id = None
- self.subject = None
- self.language = None
- self.threat_detection_methods = None
- self.body_fingerprint_bin1 = body_fingerprint_bin1
- self.body_fingerprint_bin2 = body_fingerprint_bin2
- self.body_fingerprint_bin3 = body_fingerprint_bin3
- self.body_fingerprint_bin4 = body_fingerprint_bin4
- self.body_fingerprint_bin5 = body_fingerprint_bin5
- self.antispam_direction = antispam_direction
- self.delivery_action = delivery_action
- self.delivery_location = delivery_location
+ self.kind: str = "MicrosoftThreatIntelligence"
+ self.tenant_id = tenant_id
-class MalwareEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a malware entity.
+class MSTICheckRequirementsProperties(DataConnectorTenantId):
+ """Microsoft Threat Intelligence requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class MSTIDataConnector(DataConnector):
+ """Represents Microsoft Threat Intelligence data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -12914,26 +18311,21 @@ class MalwareEntity(Entity): # pylint: disable=too-many-instance-attributes
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar category: The malware category by the vendor, e.g. Trojan.
- :vartype category: str
- :ivar file_entity_ids: List of linked file entity identifiers on which the malware was found.
- :vartype file_entity_ids: list[str]
- :ivar malware_name: The malware name by the vendor, e.g. Win32/Toga!rfn.
- :vartype malware_name: str
- :ivar process_entity_ids: List of linked process entity identifiers on which the malware was
- found.
- :vartype process_entity_ids: list[str]
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
"""
_validation = {
@@ -12942,12 +18334,6 @@ class MalwareEntity(Entity): # pylint: disable=too-many-instance-attributes
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "category": {"readonly": True},
- "file_entity_ids": {"readonly": True},
- "malware_name": {"readonly": True},
- "process_entity_ids": {"readonly": True},
}
_attribute_map = {
@@ -12955,120 +18341,153 @@ class MalwareEntity(Entity): # pylint: disable=too-many-instance-attributes
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "category": {"key": "properties.category", "type": "str"},
- "file_entity_ids": {"key": "properties.fileEntityIds", "type": "[str]"},
- "malware_name": {"key": "properties.malwareName", "type": "str"},
- "process_entity_ids": {"key": "properties.processEntityIds", "type": "[str]"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "MSTIDataConnectorDataTypes"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.kind: str = "Malware"
- self.additional_data = None
- self.friendly_name = None
- self.category = None
- self.file_entity_ids = None
- self.malware_name = None
- self.process_entity_ids = None
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.MSTIDataConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "MicrosoftThreatIntelligence"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
-class MalwareEntityProperties(EntityCommonProperties):
- """Malware entity property bag.
+class MSTIDataConnectorDataTypes(_serialization.Model):
+ """The available data types for Microsoft Threat Intelligence Platforms data connector.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar category: The malware category by the vendor, e.g. Trojan.
- :vartype category: str
- :ivar file_entity_ids: List of linked file entity identifiers on which the malware was found.
- :vartype file_entity_ids: list[str]
- :ivar malware_name: The malware name by the vendor, e.g. Win32/Toga!rfn.
- :vartype malware_name: str
- :ivar process_entity_ids: List of linked process entity identifiers on which the malware was
- found.
- :vartype process_entity_ids: list[str]
+ :ivar microsoft_emerging_threat_feed: Data type for Microsoft Threat Intelligence Platforms
+ data connector. Required.
+ :vartype microsoft_emerging_threat_feed:
+ ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed
+ """
+
+ _validation = {
+ "microsoft_emerging_threat_feed": {"required": True},
+ }
+
+ _attribute_map = {
+ "microsoft_emerging_threat_feed": {
+ "key": "microsoftEmergingThreatFeed",
+ "type": "MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ microsoft_emerging_threat_feed: "_models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword microsoft_emerging_threat_feed: Data type for Microsoft Threat Intelligence Platforms
+ data connector. Required.
+ :paramtype microsoft_emerging_threat_feed:
+ ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed
+ """
+ super().__init__(**kwargs)
+ self.microsoft_emerging_threat_feed = microsoft_emerging_threat_feed
+
+
+class MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed(
+ DataConnectorDataTypeCommon
+): # pylint: disable=name-too-long
+ """Data type for Microsoft Threat Intelligence Platforms data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar lookback_period: The lookback period for the feed to be imported. Required.
+ :vartype lookback_period: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "category": {"readonly": True},
- "file_entity_ids": {"readonly": True},
- "malware_name": {"readonly": True},
- "process_entity_ids": {"readonly": True},
+ "state": {"required": True},
+ "lookback_period": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "category": {"key": "category", "type": "str"},
- "file_entity_ids": {"key": "fileEntityIds", "type": "[str]"},
- "malware_name": {"key": "malwareName", "type": "str"},
- "process_entity_ids": {"key": "processEntityIds", "type": "[str]"},
+ "state": {"key": "state", "type": "str"},
+ "lookback_period": {"key": "lookbackPeriod", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.category = None
- self.file_entity_ids = None
- self.malware_name = None
- self.process_entity_ids = None
+ def __init__(self, *, state: Union[str, "_models.DataTypeState"], lookback_period: str, **kwargs: Any) -> None:
+ """
+ :keyword state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword lookback_period: The lookback period for the feed to be imported. Required.
+ :paramtype lookback_period: str
+ """
+ super().__init__(state=state, **kwargs)
+ self.lookback_period = lookback_period
-class ManualTriggerRequestBody(_serialization.Model):
- """ManualTriggerRequestBody.
+class MSTIDataConnectorProperties(DataConnectorTenantId):
+ """Microsoft Threat Intelligence data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tenant_id:
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
- :ivar logic_apps_resource_id: Required.
- :vartype logic_apps_resource_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
"""
_validation = {
- "logic_apps_resource_id": {"required": True},
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
}
_attribute_map = {
"tenant_id": {"key": "tenantId", "type": "str"},
- "logic_apps_resource_id": {"key": "logicAppsResourceId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "MSTIDataConnectorDataTypes"},
}
- def __init__(self, *, logic_apps_resource_id: str, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: str, data_types: "_models.MSTIDataConnectorDataTypes", **kwargs: Any) -> None:
"""
- :keyword tenant_id:
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
:paramtype tenant_id: str
- :keyword logic_apps_resource_id: Required.
- :paramtype logic_apps_resource_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
"""
- super().__init__(**kwargs)
- self.tenant_id = tenant_id
- self.logic_apps_resource_id = logic_apps_resource_id
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
-class MCASCheckRequirements(DataConnectorsCheckRequirements):
- """Represents MCAS (Microsoft Cloud App Security) requirements check request.
+class MtpCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents MTP (Microsoft Threat Protection) requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -13083,50 +18502,35 @@ class MCASCheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
"""
super().__init__(**kwargs)
- self.kind: str = "MicrosoftCloudAppSecurity"
+ self.kind: str = "MicrosoftThreatProtection"
self.tenant_id = tenant_id
-class MCASCheckRequirementsProperties(DataConnectorTenantId):
- """MCAS (Microsoft Cloud App Security) requirements check properties.
+class MTPCheckRequirementsProperties(DataConnectorTenantId):
+ """MTP (Microsoft Threat Protection) requirements check properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
-
-class MCASDataConnector(DataConnector):
- """Represents MCAS (Microsoft Cloud App Security) data connector.
+class MTPDataConnector(DataConnector):
+ """Represents MTP (Microsoft Threat Protection) data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -13141,15 +18545,18 @@ class MCASDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
:ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :ivar filtered_providers: The available filtered providers for the connector.
+ :vartype filtered_providers: ~azure.mgmt.securityinsight.models.MtpFilteredProviders
"""
_validation = {
@@ -13168,7 +18575,8 @@ class MCASDataConnector(DataConnector):
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
"tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "MCASDataConnectorDataTypes"},
+ "data_types": {"key": "properties.dataTypes", "type": "MTPDataConnectorDataTypes"},
+ "filtered_providers": {"key": "properties.filteredProviders", "type": "MtpFilteredProviders"},
}
def __init__(
@@ -13176,32 +18584,143 @@ def __init__(
*,
etag: Optional[str] = None,
tenant_id: Optional[str] = None,
- data_types: Optional["_models.MCASDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ data_types: Optional["_models.MTPDataConnectorDataTypes"] = None,
+ filtered_providers: Optional["_models.MtpFilteredProviders"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
:keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :keyword filtered_providers: The available filtered providers for the connector.
+ :paramtype filtered_providers: ~azure.mgmt.securityinsight.models.MtpFilteredProviders
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "MicrosoftCloudAppSecurity"
+ self.kind: str = "MicrosoftThreatProtection"
self.tenant_id = tenant_id
self.data_types = data_types
+ self.filtered_providers = filtered_providers
-class MCASDataConnectorDataTypes(AlertsDataTypeOfDataConnector):
- """The available data types for MCAS (Microsoft Cloud App Security) data connector.
+class MTPDataConnectorDataTypes(_serialization.Model):
+ """The available data types for Microsoft Threat Protection Platforms data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar alerts: Alerts data type connection. Required.
- :vartype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
- :ivar discovery_logs: Discovery log data type connection.
- :vartype discovery_logs: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
+ :ivar incidents: Incidents data type for Microsoft Threat Protection Platforms data connector.
+ Required.
+ :vartype incidents: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesIncidents
+ :ivar alerts: Alerts data type for Microsoft Threat Protection Platforms data connector.
+ :vartype alerts: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesAlerts
+ """
+
+ _validation = {
+ "incidents": {"required": True},
+ }
+
+ _attribute_map = {
+ "incidents": {"key": "incidents", "type": "MTPDataConnectorDataTypesIncidents"},
+ "alerts": {"key": "alerts", "type": "MTPDataConnectorDataTypesAlerts"},
+ }
+
+ def __init__(
+ self,
+ *,
+ incidents: "_models.MTPDataConnectorDataTypesIncidents",
+ alerts: Optional["_models.MTPDataConnectorDataTypesAlerts"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword incidents: Incidents data type for Microsoft Threat Protection Platforms data
+ connector. Required.
+ :paramtype incidents: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesIncidents
+ :keyword alerts: Alerts data type for Microsoft Threat Protection Platforms data connector.
+ :paramtype alerts: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesAlerts
+ """
+ super().__init__(**kwargs)
+ self.incidents = incidents
+ self.alerts = alerts
+
+
+class MTPDataConnectorDataTypesAlerts(DataConnectorDataTypeCommon):
+ """Alerts data type for Microsoft Threat Protection Platforms data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class MTPDataConnectorDataTypesIncidents(DataConnectorDataTypeCommon):
+ """Incidents data type for Microsoft Threat Protection Platforms data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class MTPDataConnectorProperties(DataConnectorTenantId):
+ """MTP (Microsoft Threat Protection) data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :ivar filtered_providers: The available filtered providers for the connector.
+ :vartype filtered_providers: ~azure.mgmt.securityinsight.models.MtpFilteredProviders
+ """
+
+ _validation = {
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
+ }
+
+ _attribute_map = {
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "MTPDataConnectorDataTypes"},
+ "filtered_providers": {"key": "filteredProviders", "type": "MtpFilteredProviders"},
+ }
+
+ def __init__(
+ self,
+ *,
+ tenant_id: str,
+ data_types: "_models.MTPDataConnectorDataTypes",
+ filtered_providers: Optional["_models.MtpFilteredProviders"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :keyword filtered_providers: The available filtered providers for the connector.
+ :paramtype filtered_providers: ~azure.mgmt.securityinsight.models.MtpFilteredProviders
+ """
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
+ self.filtered_providers = filtered_providers
+
+
+class MtpFilteredProviders(_serialization.Model):
+ """Represents the connector's Filtered providers.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar alerts: Alerts filtered providers. When filters are not applied, all alerts will stream
+ through the MTP pipeline, still in private preview for all products EXCEPT MDA and MDI, which
+ are in GA state. Required.
+ :vartype alerts: list[str or ~azure.mgmt.securityinsight.models.MtpProvider]
"""
_validation = {
@@ -13209,129 +18728,373 @@ class MCASDataConnectorDataTypes(AlertsDataTypeOfDataConnector):
}
_attribute_map = {
- "alerts": {"key": "alerts", "type": "DataConnectorDataTypeCommon"},
- "discovery_logs": {"key": "discoveryLogs", "type": "DataConnectorDataTypeCommon"},
+ "alerts": {"key": "alerts", "type": "[str]"},
+ }
+
+ def __init__(self, *, alerts: List[Union[str, "_models.MtpProvider"]], **kwargs: Any) -> None:
+ """
+ :keyword alerts: Alerts filtered providers. When filters are not applied, all alerts will
+ stream through the MTP pipeline, still in private preview for all products EXCEPT MDA and MDI,
+ which are in GA state. Required.
+ :paramtype alerts: list[str or ~azure.mgmt.securityinsight.models.MtpProvider]
+ """
+ super().__init__(**kwargs)
+ self.alerts = alerts
+
+
+class NicEntity(Entity):
+ """Represents an network interface entity.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar mac_address: The MAC address of this network interface.
+ :vartype mac_address: str
+ :ivar ip_address_entity_id: The IP entity id of this network interface.
+ :vartype ip_address_entity_id: str
+ :ivar vlans: A list of VLANs of the network interface entity.
+ :vartype vlans: list[str]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "mac_address": {"readonly": True},
+ "ip_address_entity_id": {"readonly": True},
+ "vlans": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "mac_address": {"key": "properties.macAddress", "type": "str"},
+ "ip_address_entity_id": {"key": "properties.ipAddressEntityId", "type": "str"},
+ "vlans": {"key": "properties.vlans", "type": "[str]"},
}
- def __init__(
- self,
- *,
- alerts: "_models.DataConnectorDataTypeCommon",
- discovery_logs: Optional["_models.DataConnectorDataTypeCommon"] = None,
- **kwargs
- ):
- """
- :keyword alerts: Alerts data type connection. Required.
- :paramtype alerts: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
- :keyword discovery_logs: Discovery log data type connection.
- :paramtype discovery_logs: ~azure.mgmt.securityinsight.models.DataConnectorDataTypeCommon
- """
- super().__init__(alerts=alerts, **kwargs)
- self.discovery_logs = discovery_logs
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "Nic"
+ self.additional_data = None
+ self.friendly_name = None
+ self.mac_address = None
+ self.ip_address_entity_id = None
+ self.vlans = None
-class MCASDataConnectorProperties(DataConnectorTenantId):
- """MCAS (Microsoft Cloud App Security) data connector properties.
+class NicEntityProperties(EntityCommonProperties):
+ """Nic entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar mac_address: The MAC address of this network interface.
+ :vartype mac_address: str
+ :ivar ip_address_entity_id: The IP entity id of this network interface.
+ :vartype ip_address_entity_id: str
+ :ivar vlans: A list of VLANs of the network interface entity.
+ :vartype vlans: list[str]
"""
_validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "mac_address": {"readonly": True},
+ "ip_address_entity_id": {"readonly": True},
+ "vlans": {"readonly": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "MCASDataConnectorDataTypes"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "mac_address": {"key": "macAddress", "type": "str"},
+ "ip_address_entity_id": {"key": "ipAddressEntityId", "type": "str"},
+ "vlans": {"key": "vlans", "type": "[str]"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.MCASDataConnectorDataTypes", **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MCASDataConnectorDataTypes
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.mac_address = None
+ self.ip_address_entity_id = None
+ self.vlans = None
-class MDATPCheckRequirements(DataConnectorsCheckRequirements):
- """Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.
+class NoneAuthModel(CcpAuthConfig):
+ """Model for API authentication with no authentication method - public API.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
"""
_validation = {
- "kind": {"required": True},
+ "type": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "type": {"key": "type", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.kind: str = "MicrosoftDefenderAdvancedThreatProtection"
- self.tenant_id = tenant_id
+ self.type: str = "None"
-class MDATPCheckRequirementsProperties(DataConnectorTenantId):
- """MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.
+class NrtAlertRule(AlertRule):
+ """Represents NRT alert rule.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
+ :vartype alert_rule_template_name: str
+ :ivar template_version: The version of the alert rule template used to create this rule - in
+ format , where all are numbers, for example 0 <1.0.2>.
+ :vartype template_version: str
+ :ivar description: The description of the alert rule.
+ :vartype description: str
+ :ivar query: The query that creates alerts for this rule.
+ :vartype query: str
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
+ :ivar display_name: The display name for alerts created by this alert rule.
+ :vartype display_name: str
+ :ivar enabled: Determines whether this alert rule is enabled or disabled.
+ :vartype enabled: bool
+ :ivar last_modified_utc: The last time that this alert rule has been modified.
+ :vartype last_modified_utc: ~datetime.datetime
+ :ivar suppression_duration: The suppression (in ISO 8601 duration format) to wait since last
+ time this alert rule been triggered.
+ :vartype suppression_duration: ~datetime.timedelta
+ :ivar suppression_enabled: Determines whether the suppression for this alert rule is enabled or
+ disabled.
+ :vartype suppression_enabled: bool
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar incident_configuration: The settings of the incidents that created from alerts triggered
+ by this analytics rule.
+ :vartype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
+ :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :vartype custom_details: dict[str, str]
+ :ivar entity_mappings: Array of the entity mappings of the alert rule.
+ :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :ivar alert_details_override: The alert details override settings.
+ :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :ivar event_grouping_settings: The event grouping settings.
+ :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :vartype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
_validation = {
- "tenant_id": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "last_modified_utc": {"readonly": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
+ "template_version": {"key": "properties.templateVersion", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "query": {"key": "properties.query", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "enabled": {"key": "properties.enabled", "type": "bool"},
+ "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ "suppression_duration": {"key": "properties.suppressionDuration", "type": "duration"},
+ "suppression_enabled": {"key": "properties.suppressionEnabled", "type": "bool"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "incident_configuration": {"key": "properties.incidentConfiguration", "type": "IncidentConfiguration"},
+ "custom_details": {"key": "properties.customDetails", "type": "{str}"},
+ "entity_mappings": {"key": "properties.entityMappings", "type": "[EntityMapping]"},
+ "alert_details_override": {"key": "properties.alertDetailsOverride", "type": "AlertDetailsOverride"},
+ "event_grouping_settings": {"key": "properties.eventGroupingSettings", "type": "EventGroupingSettings"},
+ "sentinel_entities_mappings": {"key": "properties.sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ etag: Optional[str] = None,
+ alert_rule_template_name: Optional[str] = None,
+ template_version: Optional[str] = None,
+ description: Optional[str] = None,
+ query: Optional[str] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ sub_techniques: Optional[List[str]] = None,
+ display_name: Optional[str] = None,
+ enabled: Optional[bool] = None,
+ suppression_duration: Optional[datetime.timedelta] = None,
+ suppression_enabled: Optional[bool] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ incident_configuration: Optional["_models.IncidentConfiguration"] = None,
+ custom_details: Optional[Dict[str, str]] = None,
+ entity_mappings: Optional[List["_models.EntityMapping"]] = None,
+ alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
+ event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
+ sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword alert_rule_template_name: The Name of the alert rule template used to create this
+ rule.
+ :paramtype alert_rule_template_name: str
+ :keyword template_version: The version of the alert rule template used to create this rule - in
+ format , where all are numbers, for example 0 <1.0.2>.
+ :paramtype template_version: str
+ :keyword description: The description of the alert rule.
+ :paramtype description: str
+ :keyword query: The query that creates alerts for this rule.
+ :paramtype query: str
+ :keyword tactics: The tactics of the alert rule.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
+ :keyword sub_techniques: The sub-techniques of the alert rule.
+ :paramtype sub_techniques: list[str]
+ :keyword display_name: The display name for alerts created by this alert rule.
+ :paramtype display_name: str
+ :keyword enabled: Determines whether this alert rule is enabled or disabled.
+ :paramtype enabled: bool
+ :keyword suppression_duration: The suppression (in ISO 8601 duration format) to wait since last
+ time this alert rule been triggered.
+ :paramtype suppression_duration: ~datetime.timedelta
+ :keyword suppression_enabled: Determines whether the suppression for this alert rule is enabled
+ or disabled.
+ :paramtype suppression_enabled: bool
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword incident_configuration: The settings of the incidents that created from alerts
+ triggered by this analytics rule.
+ :paramtype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
+ :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :paramtype custom_details: dict[str, str]
+ :keyword entity_mappings: Array of the entity mappings of the alert rule.
+ :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :keyword alert_details_override: The alert details override settings.
+ :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :keyword event_grouping_settings: The event grouping settings.
+ :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :paramtype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "NRT"
+ self.alert_rule_template_name = alert_rule_template_name
+ self.template_version = template_version
+ self.description = description
+ self.query = query
+ self.tactics = tactics
+ self.techniques = techniques
+ self.sub_techniques = sub_techniques
+ self.display_name = display_name
+ self.enabled = enabled
+ self.last_modified_utc = None
+ self.suppression_duration = suppression_duration
+ self.suppression_enabled = suppression_enabled
+ self.severity = severity
+ self.incident_configuration = incident_configuration
+ self.custom_details = custom_details
+ self.entity_mappings = entity_mappings
+ self.alert_details_override = alert_details_override
+ self.event_grouping_settings = event_grouping_settings
+ self.sentinel_entities_mappings = sentinel_entities_mappings
-class MDATPDataConnector(DataConnector):
- """Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.
+class NrtAlertRuleTemplate(AlertRuleTemplate):
+ """Represents NRT alert rule template.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -13341,20 +19104,51 @@ class MDATPDataConnector(DataConnector):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
+ "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
+ "NRT".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
+ :ivar query: The query that creates alerts for this rule.
+ :vartype query: str
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
+ :vartype version: str
+ :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :vartype custom_details: dict[str, str]
+ :ivar entity_mappings: Array of the entity mappings of the alert rule.
+ :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :ivar alert_details_override: The alert details override settings.
+ :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :ivar event_grouping_settings: The event grouping settings.
+ :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :vartype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
_validation = {
@@ -13363,6 +19157,8 @@ class MDATPDataConnector(DataConnector):
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -13370,455 +19166,597 @@ class MDATPDataConnector(DataConnector):
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "required_data_connectors": {
+ "key": "properties.requiredDataConnectors",
+ "type": "[AlertRuleTemplateDataSource]",
+ },
+ "status": {"key": "properties.status", "type": "str"},
+ "tactics": {"key": "properties.tactics", "type": "[str]"},
+ "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "query": {"key": "properties.query", "type": "str"},
+ "severity": {"key": "properties.severity", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "custom_details": {"key": "properties.customDetails", "type": "{str}"},
+ "entity_mappings": {"key": "properties.entityMappings", "type": "[EntityMapping]"},
+ "alert_details_override": {"key": "properties.alertDetailsOverride", "type": "AlertDetailsOverride"},
+ "event_grouping_settings": {"key": "properties.eventGroupingSettings", "type": "EventGroupingSettings"},
+ "sentinel_entities_mappings": {"key": "properties.sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
}
def __init__(
self,
*,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- **kwargs
- ):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- """
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "MicrosoftDefenderAdvancedThreatProtection"
- self.tenant_id = tenant_id
- self.data_types = data_types
-
-
-class MDATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
- """MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- """
-
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(
- self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs
- ):
- """
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
- self.data_types = data_types
- self.tenant_id = tenant_id
-
-
-class MetadataAuthor(_serialization.Model):
- """Publisher or creator of the content item.
-
- :ivar name: Name of the author. Company or person.
- :vartype name: str
- :ivar email: Email of author contact.
- :vartype email: str
- :ivar link: Link for author/vendor page.
- :vartype link: str
- """
-
- _attribute_map = {
- "name": {"key": "name", "type": "str"},
- "email": {"key": "email", "type": "str"},
- "link": {"key": "link", "type": "str"},
- }
-
- def __init__(
- self, *, name: Optional[str] = None, email: Optional[str] = None, link: Optional[str] = None, **kwargs
- ):
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ query: Optional[str] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ version: Optional[str] = None,
+ custom_details: Optional[Dict[str, str]] = None,
+ entity_mappings: Optional[List["_models.EntityMapping"]] = None,
+ alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
+ event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
+ sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword name: Name of the author. Company or person.
- :paramtype name: str
- :keyword email: Email of author contact.
- :paramtype email: str
- :keyword link: Link for author/vendor page.
- :paramtype link: str
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword tactics: The tactics of the alert rule.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
+ :keyword query: The query that creates alerts for this rule.
+ :paramtype query: str
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
+ :paramtype version: str
+ :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :paramtype custom_details: dict[str, str]
+ :keyword entity_mappings: Array of the entity mappings of the alert rule.
+ :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :keyword alert_details_override: The alert details override settings.
+ :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :keyword event_grouping_settings: The event grouping settings.
+ :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :paramtype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
super().__init__(**kwargs)
- self.name = name
- self.email = email
- self.link = link
-
+ self.kind: str = "NRT"
+ self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
+ self.last_updated_date_utc = None
+ self.created_date_utc = None
+ self.description = description
+ self.display_name = display_name
+ self.required_data_connectors = required_data_connectors
+ self.status = status
+ self.tactics = tactics
+ self.techniques = techniques
+ self.query = query
+ self.severity = severity
+ self.version = version
+ self.custom_details = custom_details
+ self.entity_mappings = entity_mappings
+ self.alert_details_override = alert_details_override
+ self.event_grouping_settings = event_grouping_settings
+ self.sentinel_entities_mappings = sentinel_entities_mappings
-class MetadataCategories(_serialization.Model):
- """ies for the solution content item.
- :ivar domains: domain for the solution content item.
- :vartype domains: list[str]
- :ivar verticals: Industry verticals for the solution content item.
- :vartype verticals: list[str]
+class QueryBasedAlertRuleTemplateProperties(_serialization.Model):
+ """Query based alert rule template base property bag.
+
+ :ivar query: The query that creates alerts for this rule.
+ :vartype query: str
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
+ :vartype version: str
+ :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :vartype custom_details: dict[str, str]
+ :ivar entity_mappings: Array of the entity mappings of the alert rule.
+ :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :ivar alert_details_override: The alert details override settings.
+ :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :ivar event_grouping_settings: The event grouping settings.
+ :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :vartype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
_attribute_map = {
- "domains": {"key": "domains", "type": "[str]"},
- "verticals": {"key": "verticals", "type": "[str]"},
+ "query": {"key": "query", "type": "str"},
+ "severity": {"key": "severity", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "custom_details": {"key": "customDetails", "type": "{str}"},
+ "entity_mappings": {"key": "entityMappings", "type": "[EntityMapping]"},
+ "alert_details_override": {"key": "alertDetailsOverride", "type": "AlertDetailsOverride"},
+ "event_grouping_settings": {"key": "eventGroupingSettings", "type": "EventGroupingSettings"},
+ "sentinel_entities_mappings": {"key": "sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
}
- def __init__(self, *, domains: Optional[List[str]] = None, verticals: Optional[List[str]] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ query: Optional[str] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ version: Optional[str] = None,
+ custom_details: Optional[Dict[str, str]] = None,
+ entity_mappings: Optional[List["_models.EntityMapping"]] = None,
+ alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
+ event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
+ sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword domains: domain for the solution content item.
- :paramtype domains: list[str]
- :keyword verticals: Industry verticals for the solution content item.
- :paramtype verticals: list[str]
+ :keyword query: The query that creates alerts for this rule.
+ :paramtype query: str
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
+ :paramtype version: str
+ :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :paramtype custom_details: dict[str, str]
+ :keyword entity_mappings: Array of the entity mappings of the alert rule.
+ :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :keyword alert_details_override: The alert details override settings.
+ :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :keyword event_grouping_settings: The event grouping settings.
+ :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :paramtype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
"""
super().__init__(**kwargs)
- self.domains = domains
- self.verticals = verticals
+ self.query = query
+ self.severity = severity
+ self.version = version
+ self.custom_details = custom_details
+ self.entity_mappings = entity_mappings
+ self.alert_details_override = alert_details_override
+ self.event_grouping_settings = event_grouping_settings
+ self.sentinel_entities_mappings = sentinel_entities_mappings
-class MetadataDependencies(_serialization.Model):
- """Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex dependencies.
+class NrtAlertRuleTemplateProperties(AlertRuleTemplateWithMitreProperties, QueryBasedAlertRuleTemplateProperties):
+ """NRT alert rule template properties.
- :ivar content_id: Id of the content item we depend on.
- :vartype content_id: str
- :ivar kind: Type of the content item we depend on. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :ivar version: Version of the the content item we depend on. Can be blank, * or missing to
- indicate any version fulfills the dependency. If version does not match our defined numeric
- format then an exact match is required.
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar query: The query that creates alerts for this rule.
+ :vartype query: str
+ :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
+ "Medium", "Low", and "Informational".
+ :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
:vartype version: str
- :ivar name: Name of the content item.
- :vartype name: str
- :ivar operator: Operator used for list of dependencies in criteria array. Known values are:
- "AND" and "OR".
- :vartype operator: str or ~azure.mgmt.securityinsight.models.Operator
- :ivar criteria: This is the list of dependencies we must fulfill, according to the AND/OR
- operator.
- :vartype criteria: list[~azure.mgmt.securityinsight.models.MetadataDependencies]
+ :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :vartype custom_details: dict[str, str]
+ :ivar entity_mappings: Array of the entity mappings of the alert rule.
+ :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :ivar alert_details_override: The alert details override settings.
+ :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :ivar event_grouping_settings: The event grouping settings.
+ :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :vartype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :vartype alert_rules_created_by_template_count: int
+ :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
+ :vartype last_updated_date_utc: ~datetime.datetime
+ :ivar created_date_utc: The time that this alert rule template has been added.
+ :vartype created_date_utc: ~datetime.datetime
+ :ivar description: The description of the alert rule template.
+ :vartype description: str
+ :ivar display_name: The display name for alert rule template.
+ :vartype display_name: str
+ :ivar required_data_connectors: The required data sources for this template.
+ :vartype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
+ "NotAvailable".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :ivar tactics: The tactics of the alert rule.
+ :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :ivar techniques: The techniques of the alert rule.
+ :vartype techniques: list[str]
"""
+ _validation = {
+ "last_updated_date_utc": {"readonly": True},
+ "created_date_utc": {"readonly": True},
+ }
+
_attribute_map = {
- "content_id": {"key": "contentId", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
+ "query": {"key": "query", "type": "str"},
+ "severity": {"key": "severity", "type": "str"},
"version": {"key": "version", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "operator": {"key": "operator", "type": "str"},
- "criteria": {"key": "criteria", "type": "[MetadataDependencies]"},
+ "custom_details": {"key": "customDetails", "type": "{str}"},
+ "entity_mappings": {"key": "entityMappings", "type": "[EntityMapping]"},
+ "alert_details_override": {"key": "alertDetailsOverride", "type": "AlertDetailsOverride"},
+ "event_grouping_settings": {"key": "eventGroupingSettings", "type": "EventGroupingSettings"},
+ "sentinel_entities_mappings": {"key": "sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
+ "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
+ "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
+ "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
+ "description": {"key": "description", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
+ "status": {"key": "status", "type": "str"},
+ "tactics": {"key": "tactics", "type": "[str]"},
+ "techniques": {"key": "techniques", "type": "[str]"},
}
def __init__(
self,
*,
- content_id: Optional[str] = None,
- kind: Optional[Union[str, "_models.Kind"]] = None,
+ query: Optional[str] = None,
+ severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
version: Optional[str] = None,
- name: Optional[str] = None,
- operator: Optional[Union[str, "_models.Operator"]] = None,
- criteria: Optional[List["_models.MetadataDependencies"]] = None,
- **kwargs
- ):
+ custom_details: Optional[Dict[str, str]] = None,
+ entity_mappings: Optional[List["_models.EntityMapping"]] = None,
+ alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
+ event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
+ sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
+ alert_rules_created_by_template_count: Optional[int] = None,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
+ status: Optional[Union[str, "_models.TemplateStatus"]] = None,
+ tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
+ techniques: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword content_id: Id of the content item we depend on.
- :paramtype content_id: str
- :keyword kind: Type of the content item we depend on. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :keyword version: Version of the the content item we depend on. Can be blank, * or missing to
- indicate any version fulfills the dependency. If version does not match our defined numeric
- format then an exact match is required.
+ :keyword query: The query that creates alerts for this rule.
+ :paramtype query: str
+ :keyword severity: The severity for alerts created by this alert rule. Known values are:
+ "High", "Medium", "Low", and "Informational".
+ :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword version: The version of this template - in format , where all are numbers. For
+ example <1.0.2>.
:paramtype version: str
- :keyword name: Name of the content item.
- :paramtype name: str
- :keyword operator: Operator used for list of dependencies in criteria array. Known values are:
- "AND" and "OR".
- :paramtype operator: str or ~azure.mgmt.securityinsight.models.Operator
- :keyword criteria: This is the list of dependencies we must fulfill, according to the AND/OR
- operator.
- :paramtype criteria: list[~azure.mgmt.securityinsight.models.MetadataDependencies]
+ :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
+ alert.
+ :paramtype custom_details: dict[str, str]
+ :keyword entity_mappings: Array of the entity mappings of the alert rule.
+ :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
+ :keyword alert_details_override: The alert details override settings.
+ :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
+ :keyword event_grouping_settings: The event grouping settings.
+ :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
+ :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
+ :paramtype sentinel_entities_mappings:
+ list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
+ this template.
+ :paramtype alert_rules_created_by_template_count: int
+ :keyword description: The description of the alert rule template.
+ :paramtype description: str
+ :keyword display_name: The display name for alert rule template.
+ :paramtype display_name: str
+ :keyword required_data_connectors: The required data sources for this template.
+ :paramtype required_data_connectors:
+ list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
+ :keyword status: The alert rule template status. Known values are: "Installed", "Available",
+ and "NotAvailable".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
+ :keyword tactics: The tactics of the alert rule.
+ :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
+ :keyword techniques: The techniques of the alert rule.
+ :paramtype techniques: list[str]
"""
- super().__init__(**kwargs)
- self.content_id = content_id
- self.kind = kind
+ super().__init__(
+ alert_rules_created_by_template_count=alert_rules_created_by_template_count,
+ description=description,
+ display_name=display_name,
+ required_data_connectors=required_data_connectors,
+ status=status,
+ tactics=tactics,
+ techniques=techniques,
+ query=query,
+ severity=severity,
+ version=version,
+ custom_details=custom_details,
+ entity_mappings=entity_mappings,
+ alert_details_override=alert_details_override,
+ event_grouping_settings=event_grouping_settings,
+ sentinel_entities_mappings=sentinel_entities_mappings,
+ **kwargs
+ )
+ self.query = query
+ self.severity = severity
self.version = version
- self.name = name
- self.operator = operator
- self.criteria = criteria
-
+ self.custom_details = custom_details
+ self.entity_mappings = entity_mappings
+ self.alert_details_override = alert_details_override
+ self.event_grouping_settings = event_grouping_settings
+ self.sentinel_entities_mappings = sentinel_entities_mappings
+ self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
+ self.last_updated_date_utc = None
+ self.created_date_utc = None
+ self.description = description
+ self.display_name = display_name
+ self.required_data_connectors = required_data_connectors
+ self.status = status
+ self.tactics = tactics
+ self.techniques = techniques
-class MetadataList(_serialization.Model):
- """List of all the metadata.
- Variables are only populated by the server, and will be ignored when sending a request.
+class OAuthModel(CcpAuthConfig):
+ """Model for API authentication with OAuth2.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar value: Array of metadata. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.MetadataModel]
- :ivar next_link: URL to fetch the next page of metadata.
- :vartype next_link: str
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar authorization_code: The user's authorization code.
+ :vartype authorization_code: str
+ :ivar client_secret: The Application (client) secret that the OAuth provider assigned to your
+ app. Required.
+ :vartype client_secret: str
+ :ivar client_id: The Application (client) ID that the OAuth provider assigned to your app.
+ Required.
+ :vartype client_id: str
+ :ivar is_credentials_in_headers: Indicating whether we want to send the clientId and
+ clientSecret to token endpoint in the headers.
+ :vartype is_credentials_in_headers: bool
+ :ivar scope: The Application (client) Scope that the OAuth provider assigned to your app.
+ :vartype scope: str
+ :ivar redirect_uri: The Application redirect url that the user config in the OAuth provider.
+ :vartype redirect_uri: str
+ :ivar grant_type: The grant type, usually will be 'authorization code'. Required.
+ :vartype grant_type: str
+ :ivar token_endpoint: The token endpoint. Defines the OAuth2 refresh token. Required.
+ :vartype token_endpoint: str
+ :ivar token_endpoint_headers: The token endpoint headers.
+ :vartype token_endpoint_headers: dict[str, str]
+ :ivar token_endpoint_query_parameters: The token endpoint query parameters.
+ :vartype token_endpoint_query_parameters: dict[str, str]
+ :ivar authorization_endpoint: The authorization endpoint.
+ :vartype authorization_endpoint: str
+ :ivar authorization_endpoint_headers: The authorization endpoint headers.
+ :vartype authorization_endpoint_headers: dict[str, str]
+ :ivar authorization_endpoint_query_parameters: The authorization endpoint query parameters.
+ :vartype authorization_endpoint_query_parameters: dict[str, str]
+ :ivar is_jwt_bearer_flow: A value indicating whether it's a JWT flow.
+ :vartype is_jwt_bearer_flow: bool
+ :ivar access_token_prepend: Access token prepend. Default is 'Bearer'.
+ :vartype access_token_prepend: str
"""
_validation = {
- "value": {"required": True},
- "next_link": {"readonly": True},
+ "type": {"required": True},
+ "client_secret": {"required": True},
+ "client_id": {"required": True},
+ "grant_type": {"required": True},
+ "token_endpoint": {"required": True},
}
_attribute_map = {
- "value": {"key": "value", "type": "[MetadataModel]"},
- "next_link": {"key": "nextLink", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "authorization_code": {"key": "authorizationCode", "type": "str"},
+ "client_secret": {"key": "clientSecret", "type": "str"},
+ "client_id": {"key": "clientId", "type": "str"},
+ "is_credentials_in_headers": {"key": "isCredentialsInHeaders", "type": "bool"},
+ "scope": {"key": "scope", "type": "str"},
+ "redirect_uri": {"key": "redirectUri", "type": "str"},
+ "grant_type": {"key": "grantType", "type": "str"},
+ "token_endpoint": {"key": "tokenEndpoint", "type": "str"},
+ "token_endpoint_headers": {"key": "tokenEndpointHeaders", "type": "{str}"},
+ "token_endpoint_query_parameters": {"key": "tokenEndpointQueryParameters", "type": "{str}"},
+ "authorization_endpoint": {"key": "authorizationEndpoint", "type": "str"},
+ "authorization_endpoint_headers": {"key": "authorizationEndpointHeaders", "type": "{str}"},
+ "authorization_endpoint_query_parameters": {"key": "authorizationEndpointQueryParameters", "type": "{str}"},
+ "is_jwt_bearer_flow": {"key": "isJwtBearerFlow", "type": "bool"},
+ "access_token_prepend": {"key": "accessTokenPrepend", "type": "str"},
}
- def __init__(self, *, value: List["_models.MetadataModel"], **kwargs):
- """
- :keyword value: Array of metadata. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.MetadataModel]
+ def __init__(
+ self,
+ *,
+ client_secret: str,
+ client_id: str,
+ grant_type: str,
+ token_endpoint: str,
+ authorization_code: Optional[str] = None,
+ is_credentials_in_headers: bool = False,
+ scope: Optional[str] = None,
+ redirect_uri: Optional[str] = None,
+ token_endpoint_headers: Optional[Dict[str, str]] = None,
+ token_endpoint_query_parameters: Optional[Dict[str, str]] = None,
+ authorization_endpoint: Optional[str] = None,
+ authorization_endpoint_headers: Optional[Dict[str, str]] = None,
+ authorization_endpoint_query_parameters: Optional[Dict[str, str]] = None,
+ is_jwt_bearer_flow: Optional[bool] = None,
+ access_token_prepend: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword authorization_code: The user's authorization code.
+ :paramtype authorization_code: str
+ :keyword client_secret: The Application (client) secret that the OAuth provider assigned to
+ your app. Required.
+ :paramtype client_secret: str
+ :keyword client_id: The Application (client) ID that the OAuth provider assigned to your app.
+ Required.
+ :paramtype client_id: str
+ :keyword is_credentials_in_headers: Indicating whether we want to send the clientId and
+ clientSecret to token endpoint in the headers.
+ :paramtype is_credentials_in_headers: bool
+ :keyword scope: The Application (client) Scope that the OAuth provider assigned to your app.
+ :paramtype scope: str
+ :keyword redirect_uri: The Application redirect url that the user config in the OAuth provider.
+ :paramtype redirect_uri: str
+ :keyword grant_type: The grant type, usually will be 'authorization code'. Required.
+ :paramtype grant_type: str
+ :keyword token_endpoint: The token endpoint. Defines the OAuth2 refresh token. Required.
+ :paramtype token_endpoint: str
+ :keyword token_endpoint_headers: The token endpoint headers.
+ :paramtype token_endpoint_headers: dict[str, str]
+ :keyword token_endpoint_query_parameters: The token endpoint query parameters.
+ :paramtype token_endpoint_query_parameters: dict[str, str]
+ :keyword authorization_endpoint: The authorization endpoint.
+ :paramtype authorization_endpoint: str
+ :keyword authorization_endpoint_headers: The authorization endpoint headers.
+ :paramtype authorization_endpoint_headers: dict[str, str]
+ :keyword authorization_endpoint_query_parameters: The authorization endpoint query parameters.
+ :paramtype authorization_endpoint_query_parameters: dict[str, str]
+ :keyword is_jwt_bearer_flow: A value indicating whether it's a JWT flow.
+ :paramtype is_jwt_bearer_flow: bool
+ :keyword access_token_prepend: Access token prepend. Default is 'Bearer'.
+ :paramtype access_token_prepend: str
"""
super().__init__(**kwargs)
- self.value = value
- self.next_link = None
+ self.type: str = "OAuth2"
+ self.authorization_code = authorization_code
+ self.client_secret = client_secret
+ self.client_id = client_id
+ self.is_credentials_in_headers = is_credentials_in_headers
+ self.scope = scope
+ self.redirect_uri = redirect_uri
+ self.grant_type = grant_type
+ self.token_endpoint = token_endpoint
+ self.token_endpoint_headers = token_endpoint_headers
+ self.token_endpoint_query_parameters = token_endpoint_query_parameters
+ self.authorization_endpoint = authorization_endpoint
+ self.authorization_endpoint_headers = authorization_endpoint_headers
+ self.authorization_endpoint_query_parameters = authorization_endpoint_query_parameters
+ self.is_jwt_bearer_flow = is_jwt_bearer_flow
+ self.access_token_prepend = access_token_prepend
-class MetadataModel(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Metadata resource definition.
+class Office365ProjectCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents Office365 Project requirements check request.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar content_id: Static ID for the content. Used to identify dependencies and content from
- solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
- for user-created. This is the resource name.
- :vartype content_id: str
- :ivar parent_id: Full parent resource ID of the content item the metadata is for. This is the
- full resource ID including the scope (subscription and resource group).
- :vartype parent_id: str
- :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
- 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
- cannot guarantee any version checks.
- :vartype version: str
- :ivar kind: The kind of content the metadata is for. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :ivar source: Source of the content. This is where/how it was created.
- :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
- :ivar author: The creator of the content item.
- :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
- :ivar support: Support information for the metadata - type, name, contact information.
- :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
- :ivar dependencies: Dependencies for the content item, what other content items it requires to
- work. Can describe more complex dependencies using a recursive/nested structure. For a single
- dependency an id/kind/version can be supplied or operator/criteria for complex formats.
- :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
- :ivar categories: Categories for the solution content item.
- :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
- :ivar providers: Providers for the solution content item.
- :vartype providers: list[str]
- :ivar first_publish_date: first publish date solution content item.
- :vartype first_publish_date: ~datetime.date
- :ivar last_publish_date: last publish date for the solution content item.
- :vartype last_publish_date: ~datetime.date
- :ivar custom_version: The custom version of the content. A optional free text.
- :vartype custom_version: str
- :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
- different flow based on the schema version.
- :vartype content_schema_version: str
- :ivar icon: the icon identifier. this id can later be fetched from the solution template.
- :vartype icon: str
- :ivar threat_analysis_tactics: the tactics the resource covers.
- :vartype threat_analysis_tactics: list[str]
- :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
- with the tactics being used.
- :vartype threat_analysis_techniques: list[str]
- :ivar preview_images: preview image file names. These will be taken from the solution
- artifacts.
- :vartype preview_images: list[str]
- :ivar preview_images_dark: preview image file names. These will be taken from the solution
- artifacts. used for dark theme support.
- :vartype preview_images_dark: list[str]
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "content_id": {"key": "properties.contentId", "type": "str"},
- "parent_id": {"key": "properties.parentId", "type": "str"},
- "version": {"key": "properties.version", "type": "str"},
- "kind": {"key": "properties.kind", "type": "str"},
- "source": {"key": "properties.source", "type": "MetadataSource"},
- "author": {"key": "properties.author", "type": "MetadataAuthor"},
- "support": {"key": "properties.support", "type": "MetadataSupport"},
- "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
- "categories": {"key": "properties.categories", "type": "MetadataCategories"},
- "providers": {"key": "properties.providers", "type": "[str]"},
- "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
- "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
- "custom_version": {"key": "properties.customVersion", "type": "str"},
- "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
- "icon": {"key": "properties.icon", "type": "str"},
- "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
- "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
- "preview_images": {"key": "properties.previewImages", "type": "[str]"},
- "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__( # pylint: disable=too-many-locals
- self,
- *,
- etag: Optional[str] = None,
- content_id: Optional[str] = None,
- parent_id: Optional[str] = None,
- version: Optional[str] = None,
- kind: Optional[Union[str, "_models.Kind"]] = None,
- source: Optional["_models.MetadataSource"] = None,
- author: Optional["_models.MetadataAuthor"] = None,
- support: Optional["_models.MetadataSupport"] = None,
- dependencies: Optional["_models.MetadataDependencies"] = None,
- categories: Optional["_models.MetadataCategories"] = None,
- providers: Optional[List[str]] = None,
- first_publish_date: Optional[datetime.date] = None,
- last_publish_date: Optional[datetime.date] = None,
- custom_version: Optional[str] = None,
- content_schema_version: Optional[str] = None,
- icon: Optional[str] = None,
- threat_analysis_tactics: Optional[List[str]] = None,
- threat_analysis_techniques: Optional[List[str]] = None,
- preview_images: Optional[List[str]] = None,
- preview_images_dark: Optional[List[str]] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword content_id: Static ID for the content. Used to identify dependencies and content from
- solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
- for user-created. This is the resource name.
- :paramtype content_id: str
- :keyword parent_id: Full parent resource ID of the content item the metadata is for. This is
- the full resource ID including the scope (subscription and resource group).
- :paramtype parent_id: str
- :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
- 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then
- we cannot guarantee any version checks.
- :paramtype version: str
- :keyword kind: The kind of content the metadata is for. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :keyword source: Source of the content. This is where/how it was created.
- :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
- :keyword author: The creator of the content item.
- :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
- :keyword support: Support information for the metadata - type, name, contact information.
- :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
- :keyword dependencies: Dependencies for the content item, what other content items it requires
- to work. Can describe more complex dependencies using a recursive/nested structure. For a
- single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
- :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
- :keyword categories: Categories for the solution content item.
- :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
- :keyword providers: Providers for the solution content item.
- :paramtype providers: list[str]
- :keyword first_publish_date: first publish date solution content item.
- :paramtype first_publish_date: ~datetime.date
- :keyword last_publish_date: last publish date for the solution content item.
- :paramtype last_publish_date: ~datetime.date
- :keyword custom_version: The custom version of the content. A optional free text.
- :paramtype custom_version: str
- :keyword content_schema_version: Schema version of the content. Can be used to distinguish
- between different flow based on the schema version.
- :paramtype content_schema_version: str
- :keyword icon: the icon identifier. this id can later be fetched from the solution template.
- :paramtype icon: str
- :keyword threat_analysis_tactics: the tactics the resource covers.
- :paramtype threat_analysis_tactics: list[str]
- :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
- aligned with the tactics being used.
- :paramtype threat_analysis_techniques: list[str]
- :keyword preview_images: preview image file names. These will be taken from the solution
- artifacts.
- :paramtype preview_images: list[str]
- :keyword preview_images_dark: preview image file names. These will be taken from the solution
- artifacts. used for dark theme support.
- :paramtype preview_images_dark: list[str]
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.kind: str = "Office365Project"
+ self.tenant_id = tenant_id
+
+
+class Office365ProjectCheckRequirementsProperties(DataConnectorTenantId): # pylint: disable=name-too-long
+ """Office365 Project requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class Office365ProjectConnectorDataTypes(_serialization.Model):
+ """The available data types for Office Microsoft Project data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar logs: Logs data type. Required.
+ :vartype logs: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypesLogs
+ """
+
+ _validation = {
+ "logs": {"required": True},
+ }
+
+ _attribute_map = {
+ "logs": {"key": "logs", "type": "Office365ProjectConnectorDataTypesLogs"},
+ }
+
+ def __init__(self, *, logs: "_models.Office365ProjectConnectorDataTypesLogs", **kwargs: Any) -> None:
"""
- super().__init__(etag=etag, **kwargs)
- self.content_id = content_id
- self.parent_id = parent_id
- self.version = version
- self.kind = kind
- self.source = source
- self.author = author
- self.support = support
- self.dependencies = dependencies
- self.categories = categories
- self.providers = providers
- self.first_publish_date = first_publish_date
- self.last_publish_date = last_publish_date
- self.custom_version = custom_version
- self.content_schema_version = content_schema_version
- self.icon = icon
- self.threat_analysis_tactics = threat_analysis_tactics
- self.threat_analysis_techniques = threat_analysis_techniques
- self.preview_images = preview_images
- self.preview_images_dark = preview_images_dark
+ :keyword logs: Logs data type. Required.
+ :paramtype logs: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypesLogs
+ """
+ super().__init__(**kwargs)
+ self.logs = logs
-class MetadataPatch(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Metadata patch request body.
+class Office365ProjectConnectorDataTypesLogs(DataConnectorDataTypeCommon):
+ """Logs data type.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class Office365ProjectDataConnector(DataConnector):
+ """Represents Office Microsoft Project data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -13830,59 +19768,19 @@ class MetadataPatch(ResourceWithEtag): # pylint: disable=too-many-instance-attr
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar content_id: Static ID for the content. Used to identify dependencies and content from
- solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
- for user-created. This is the resource name.
- :vartype content_id: str
- :ivar parent_id: Full parent resource ID of the content item the metadata is for. This is the
- full resource ID including the scope (subscription and resource group).
- :vartype parent_id: str
- :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
- 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we
- cannot guarantee any version checks.
- :vartype version: str
- :ivar kind: The kind of content the metadata is for. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :ivar source: Source of the content. This is where/how it was created.
- :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
- :ivar author: The creator of the content item.
- :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
- :ivar support: Support information for the metadata - type, name, contact information.
- :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
- :ivar dependencies: Dependencies for the content item, what other content items it requires to
- work. Can describe more complex dependencies using a recursive/nested structure. For a single
- dependency an id/kind/version can be supplied or operator/criteria for complex formats.
- :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
- :ivar categories: Categories for the solution content item.
- :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
- :ivar providers: Providers for the solution content item.
- :vartype providers: list[str]
- :ivar first_publish_date: first publish date solution content item.
- :vartype first_publish_date: ~datetime.date
- :ivar last_publish_date: last publish date for the solution content item.
- :vartype last_publish_date: ~datetime.date
- :ivar custom_version: The custom version of the content. A optional free text.
- :vartype custom_version: str
- :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
- different flow based on the schema version.
- :vartype content_schema_version: str
- :ivar icon: the icon identifier. this id can later be fetched from the solution template.
- :vartype icon: str
- :ivar threat_analysis_tactics: the tactics the resource covers.
- :vartype threat_analysis_tactics: list[str]
- :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
- with the tactics being used.
- :vartype threat_analysis_techniques: list[str]
- :ivar preview_images: preview image file names. These will be taken from the solution
- artifacts.
- :vartype preview_images: list[str]
- :ivar preview_images_dark: preview image file names. These will be taken from the solution
- artifacts. used for dark theme support.
- :vartype preview_images_dark: list[str]
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
"""
_validation = {
@@ -13890,6 +19788,7 @@ class MetadataPatch(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
@@ -13898,242 +19797,123 @@ class MetadataPatch(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "content_id": {"key": "properties.contentId", "type": "str"},
- "parent_id": {"key": "properties.parentId", "type": "str"},
- "version": {"key": "properties.version", "type": "str"},
- "kind": {"key": "properties.kind", "type": "str"},
- "source": {"key": "properties.source", "type": "MetadataSource"},
- "author": {"key": "properties.author", "type": "MetadataAuthor"},
- "support": {"key": "properties.support", "type": "MetadataSupport"},
- "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
- "categories": {"key": "properties.categories", "type": "MetadataCategories"},
- "providers": {"key": "properties.providers", "type": "[str]"},
- "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
- "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
- "custom_version": {"key": "properties.customVersion", "type": "str"},
- "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
- "icon": {"key": "properties.icon", "type": "str"},
- "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
- "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
- "preview_images": {"key": "properties.previewImages", "type": "[str]"},
- "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "Office365ProjectConnectorDataTypes"},
}
- def __init__( # pylint: disable=too-many-locals
+ def __init__(
self,
*,
etag: Optional[str] = None,
- content_id: Optional[str] = None,
- parent_id: Optional[str] = None,
- version: Optional[str] = None,
- kind: Optional[Union[str, "_models.Kind"]] = None,
- source: Optional["_models.MetadataSource"] = None,
- author: Optional["_models.MetadataAuthor"] = None,
- support: Optional["_models.MetadataSupport"] = None,
- dependencies: Optional["_models.MetadataDependencies"] = None,
- categories: Optional["_models.MetadataCategories"] = None,
- providers: Optional[List[str]] = None,
- first_publish_date: Optional[datetime.date] = None,
- last_publish_date: Optional[datetime.date] = None,
- custom_version: Optional[str] = None,
- content_schema_version: Optional[str] = None,
- icon: Optional[str] = None,
- threat_analysis_tactics: Optional[List[str]] = None,
- threat_analysis_techniques: Optional[List[str]] = None,
- preview_images: Optional[List[str]] = None,
- preview_images_dark: Optional[List[str]] = None,
- **kwargs
- ):
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.Office365ProjectConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword content_id: Static ID for the content. Used to identify dependencies and content from
- solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
- for user-created. This is the resource name.
- :paramtype content_id: str
- :keyword parent_id: Full parent resource ID of the content item the metadata is for. This is
- the full resource ID including the scope (subscription and resource group).
- :paramtype parent_id: str
- :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
- 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then
- we cannot guarantee any version checks.
- :paramtype version: str
- :keyword kind: The kind of content the metadata is for. Known values are: "DataConnector",
- "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
- "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
- "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector", and
- "AutomationRule".
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.Kind
- :keyword source: Source of the content. This is where/how it was created.
- :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
- :keyword author: The creator of the content item.
- :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
- :keyword support: Support information for the metadata - type, name, contact information.
- :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
- :keyword dependencies: Dependencies for the content item, what other content items it requires
- to work. Can describe more complex dependencies using a recursive/nested structure. For a
- single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
- :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
- :keyword categories: Categories for the solution content item.
- :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
- :keyword providers: Providers for the solution content item.
- :paramtype providers: list[str]
- :keyword first_publish_date: first publish date solution content item.
- :paramtype first_publish_date: ~datetime.date
- :keyword last_publish_date: last publish date for the solution content item.
- :paramtype last_publish_date: ~datetime.date
- :keyword custom_version: The custom version of the content. A optional free text.
- :paramtype custom_version: str
- :keyword content_schema_version: Schema version of the content. Can be used to distinguish
- between different flow based on the schema version.
- :paramtype content_schema_version: str
- :keyword icon: the icon identifier. this id can later be fetched from the solution template.
- :paramtype icon: str
- :keyword threat_analysis_tactics: the tactics the resource covers.
- :paramtype threat_analysis_tactics: list[str]
- :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
- aligned with the tactics being used.
- :paramtype threat_analysis_techniques: list[str]
- :keyword preview_images: preview image file names. These will be taken from the solution
- artifacts.
- :paramtype preview_images: list[str]
- :keyword preview_images_dark: preview image file names. These will be taken from the solution
- artifacts. used for dark theme support.
- :paramtype preview_images_dark: list[str]
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
"""
super().__init__(etag=etag, **kwargs)
- self.content_id = content_id
- self.parent_id = parent_id
- self.version = version
- self.kind = kind
- self.source = source
- self.author = author
- self.support = support
- self.dependencies = dependencies
- self.categories = categories
- self.providers = providers
- self.first_publish_date = first_publish_date
- self.last_publish_date = last_publish_date
- self.custom_version = custom_version
- self.content_schema_version = content_schema_version
- self.icon = icon
- self.threat_analysis_tactics = threat_analysis_tactics
- self.threat_analysis_techniques = threat_analysis_techniques
- self.preview_images = preview_images
- self.preview_images_dark = preview_images_dark
-
-
-class MetadataSource(_serialization.Model):
- """The original source of the content item, where it comes from.
-
- All required parameters must be populated in order to send to Azure.
+ self.kind: str = "Office365Project"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
- :ivar kind: Source type of the content. Required. Known values are: "LocalWorkspace",
- "Community", "Solution", and "SourceRepository".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.SourceKind
- :ivar name: Name of the content source. The repo name, solution name, LA workspace name etc.
- :vartype name: str
- :ivar source_id: ID of the content source. The solution ID, workspace ID, etc.
- :vartype source_id: str
+
+class Office365ProjectDataConnectorProperties(DataConnectorTenantId):
+ """Office Microsoft Project data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
"""
_validation = {
- "kind": {"required": True},
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "source_id": {"key": "sourceId", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "Office365ProjectConnectorDataTypes"},
}
def __init__(
- self,
- *,
- kind: Union[str, "_models.SourceKind"],
- name: Optional[str] = None,
- source_id: Optional[str] = None,
- **kwargs
- ):
+ self, *, tenant_id: str, data_types: "_models.Office365ProjectConnectorDataTypes", **kwargs: Any
+ ) -> None:
"""
- :keyword kind: Source type of the content. Required. Known values are: "LocalWorkspace",
- "Community", "Solution", and "SourceRepository".
- :paramtype kind: str or ~azure.mgmt.securityinsight.models.SourceKind
- :keyword name: Name of the content source. The repo name, solution name, LA workspace name
- etc.
- :paramtype name: str
- :keyword source_id: ID of the content source. The solution ID, workspace ID, etc.
- :paramtype source_id: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
"""
- super().__init__(**kwargs)
- self.kind = kind
- self.name = name
- self.source_id = source_id
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
-class MetadataSupport(_serialization.Model):
- """Support information for the content item.
+class OfficeATPCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tier: Type of support for content item. Required. Known values are: "Microsoft",
- "Partner", and "Community".
- :vartype tier: str or ~azure.mgmt.securityinsight.models.SupportTier
- :ivar name: Name of the support contact. Company or person.
- :vartype name: str
- :ivar email: Email of support contact.
- :vartype email: str
- :ivar link: Link for support help, like to support page to open a ticket etc.
- :vartype link: str
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
"""
_validation = {
- "tier": {"required": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "tier": {"key": "tier", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "email": {"key": "email", "type": "str"},
- "link": {"key": "link", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(
- self,
- *,
- tier: Union[str, "_models.SupportTier"],
- name: Optional[str] = None,
- email: Optional[str] = None,
- link: Optional[str] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword tier: Type of support for content item. Required. Known values are: "Microsoft",
- "Partner", and "Community".
- :paramtype tier: str or ~azure.mgmt.securityinsight.models.SupportTier
- :keyword name: Name of the support contact. Company or person.
- :paramtype name: str
- :keyword email: Email of support contact.
- :paramtype email: str
- :keyword link: Link for support help, like to support page to open a ticket etc.
- :paramtype link: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
"""
super().__init__(**kwargs)
- self.tier = tier
- self.name = name
- self.email = email
- self.link = link
+ self.kind: str = "OfficeATP"
+ self.tenant_id = tenant_id
-class MicrosoftSecurityIncidentCreationAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
- """Represents MicrosoftSecurityIncidentCreation rule.
+class OfficeATPCheckRequirementsProperties(DataConnectorTenantId):
+ """OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class OfficeATPDataConnector(DataConnector):
+ """Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -14145,32 +19925,19 @@ class MicrosoftSecurityIncidentCreationAlertRule(AlertRule): # pylint: disable=
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
- :vartype display_names_filter: list[str]
- :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :vartype display_names_exclude_filter: list[str]
- :ivar product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :ivar severities_filter: the alerts' severities on which the cases will be generated.
- :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
- :vartype alert_rule_template_name: str
- :ivar description: The description of the alert rule.
- :vartype description: str
- :ivar display_name: The display name for alerts created by this alert rule.
- :vartype display_name: str
- :ivar enabled: Determines whether this alert rule is enabled or disabled.
- :vartype enabled: bool
- :ivar last_modified_utc: The last time that this alert has been modified.
- :vartype last_modified_utc: ~datetime.datetime
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
"""
_validation = {
@@ -14179,7 +19946,6 @@ class MicrosoftSecurityIncidentCreationAlertRule(AlertRule): # pylint: disable=
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "last_modified_utc": {"readonly": True},
}
_attribute_map = {
@@ -14189,247 +19955,73 @@ class MicrosoftSecurityIncidentCreationAlertRule(AlertRule): # pylint: disable=
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "display_names_filter": {"key": "properties.displayNamesFilter", "type": "[str]"},
- "display_names_exclude_filter": {"key": "properties.displayNamesExcludeFilter", "type": "[str]"},
- "product_filter": {"key": "properties.productFilter", "type": "str"},
- "severities_filter": {"key": "properties.severitiesFilter", "type": "[str]"},
- "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "enabled": {"key": "properties.enabled", "type": "bool"},
- "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
}
def __init__(
self,
*,
etag: Optional[str] = None,
- display_names_filter: Optional[List[str]] = None,
- display_names_exclude_filter: Optional[List[str]] = None,
- product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
- severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- alert_rule_template_name: Optional[str] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- enabled: Optional[bool] = None,
- **kwargs
- ):
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
- :paramtype display_names_filter: list[str]
- :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :paramtype display_names_exclude_filter: list[str]
- :keyword product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :paramtype product_filter: str or
- ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :keyword severities_filter: the alerts' severities on which the cases will be generated.
- :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- :keyword alert_rule_template_name: The Name of the alert rule template used to create this
- rule.
- :paramtype alert_rule_template_name: str
- :keyword description: The description of the alert rule.
- :paramtype description: str
- :keyword display_name: The display name for alerts created by this alert rule.
- :paramtype display_name: str
- :keyword enabled: Determines whether this alert rule is enabled or disabled.
- :paramtype enabled: bool
- """
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "MicrosoftSecurityIncidentCreation"
- self.display_names_filter = display_names_filter
- self.display_names_exclude_filter = display_names_exclude_filter
- self.product_filter = product_filter
- self.severities_filter = severities_filter
- self.alert_rule_template_name = alert_rule_template_name
- self.description = description
- self.display_name = display_name
- self.enabled = enabled
- self.last_modified_utc = None
-
-
-class MicrosoftSecurityIncidentCreationAlertRuleCommonProperties(_serialization.Model):
- """MicrosoftSecurityIncidentCreation rule common property bag.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
- :vartype display_names_filter: list[str]
- :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :vartype display_names_exclude_filter: list[str]
- :ivar product_filter: The alerts' productName on which the cases will be generated. Required.
- Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced
- Threat Protection", "Azure Active Directory Identity Protection", "Azure Security Center for
- IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat
- Protection".
- :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :ivar severities_filter: the alerts' severities on which the cases will be generated.
- :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- """
-
- _validation = {
- "product_filter": {"required": True},
- }
-
- _attribute_map = {
- "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
- "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
- "product_filter": {"key": "productFilter", "type": "str"},
- "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
- }
-
- def __init__(
- self,
- *,
- product_filter: Union[str, "_models.MicrosoftSecurityProductName"],
- display_names_filter: Optional[List[str]] = None,
- display_names_exclude_filter: Optional[List[str]] = None,
- severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- **kwargs
- ):
- """
- :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
- :paramtype display_names_filter: list[str]
- :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :paramtype display_names_exclude_filter: list[str]
- :keyword product_filter: The alerts' productName on which the cases will be generated.
- Required. Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure
- Advanced Threat Protection", "Azure Active Directory Identity Protection", "Azure Security
- Center for IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced
- Threat Protection".
- :paramtype product_filter: str or
- ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :keyword severities_filter: the alerts' severities on which the cases will be generated.
- :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
"""
- super().__init__(**kwargs)
- self.display_names_filter = display_names_filter
- self.display_names_exclude_filter = display_names_exclude_filter
- self.product_filter = product_filter
- self.severities_filter = severities_filter
-
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "OfficeATP"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
-class MicrosoftSecurityIncidentCreationAlertRuleProperties(MicrosoftSecurityIncidentCreationAlertRuleCommonProperties):
- """MicrosoftSecurityIncidentCreation rule property bag.
- Variables are only populated by the server, and will be ignored when sending a request.
+class OfficeATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
+ """OfficeATP (Office 365 Advanced Threat Protection) data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
- :vartype display_names_filter: list[str]
- :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :vartype display_names_exclude_filter: list[str]
- :ivar product_filter: The alerts' productName on which the cases will be generated. Required.
- Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced
- Threat Protection", "Azure Active Directory Identity Protection", "Azure Security Center for
- IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat
- Protection".
- :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :ivar severities_filter: the alerts' severities on which the cases will be generated.
- :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
- :vartype alert_rule_template_name: str
- :ivar description: The description of the alert rule.
- :vartype description: str
- :ivar display_name: The display name for alerts created by this alert rule. Required.
- :vartype display_name: str
- :ivar enabled: Determines whether this alert rule is enabled or disabled. Required.
- :vartype enabled: bool
- :ivar last_modified_utc: The last time that this alert has been modified.
- :vartype last_modified_utc: ~datetime.datetime
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
"""
_validation = {
- "product_filter": {"required": True},
- "display_name": {"required": True},
- "enabled": {"required": True},
- "last_modified_utc": {"readonly": True},
+ "tenant_id": {"required": True},
}
_attribute_map = {
- "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
- "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
- "product_filter": {"key": "productFilter", "type": "str"},
- "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
- "alert_rule_template_name": {"key": "alertRuleTemplateName", "type": "str"},
- "description": {"key": "description", "type": "str"},
- "display_name": {"key": "displayName", "type": "str"},
- "enabled": {"key": "enabled", "type": "bool"},
- "last_modified_utc": {"key": "lastModifiedUtc", "type": "iso-8601"},
+ "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
}
def __init__(
- self,
- *,
- product_filter: Union[str, "_models.MicrosoftSecurityProductName"],
- display_name: str,
- enabled: bool,
- display_names_filter: Optional[List[str]] = None,
- display_names_exclude_filter: Optional[List[str]] = None,
- severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- alert_rule_template_name: Optional[str] = None,
- description: Optional[str] = None,
- **kwargs
- ):
+ self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
- :paramtype display_names_filter: list[str]
- :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :paramtype display_names_exclude_filter: list[str]
- :keyword product_filter: The alerts' productName on which the cases will be generated.
- Required. Known values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure
- Advanced Threat Protection", "Azure Active Directory Identity Protection", "Azure Security
- Center for IoT", "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced
- Threat Protection".
- :paramtype product_filter: str or
- ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :keyword severities_filter: the alerts' severities on which the cases will be generated.
- :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
- :keyword alert_rule_template_name: The Name of the alert rule template used to create this
- rule.
- :paramtype alert_rule_template_name: str
- :keyword description: The description of the alert rule.
- :paramtype description: str
- :keyword display_name: The display name for alerts created by this alert rule. Required.
- :paramtype display_name: str
- :keyword enabled: Determines whether this alert rule is enabled or disabled. Required.
- :paramtype enabled: bool
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
"""
- super().__init__(
- display_names_filter=display_names_filter,
- display_names_exclude_filter=display_names_exclude_filter,
- product_filter=product_filter,
- severities_filter=severities_filter,
- **kwargs
- )
- self.alert_rule_template_name = alert_rule_template_name
- self.description = description
- self.display_name = display_name
- self.enabled = enabled
- self.last_modified_utc = None
+ super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
+ self.data_types = data_types
+ self.tenant_id = tenant_id
-class MicrosoftSecurityIncidentCreationAlertRuleTemplate(
- AlertRuleTemplate
-): # pylint: disable=too-many-instance-attributes
- """Represents MicrosoftSecurityIncidentCreation rule template.
+class OfficeConsent(Resource):
+ """Consent for Office365 tenant that already made.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -14439,39 +20031,10 @@ class MicrosoftSecurityIncidentCreationAlertRuleTemplate(
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
- :vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
- :vartype display_names_filter: list[str]
- :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :vartype display_names_exclude_filter: list[str]
- :ivar product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :ivar severities_filter: the alerts' severities on which the cases will be generated.
- :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :ivar tenant_id: The tenantId of the Office365 with the consent.
+ :vartype tenant_id: str
+ :ivar consent_id: Help to easily cascade among the data layers.
+ :vartype consent_id: str
"""
_validation = {
@@ -14479,9 +20042,6 @@ class MicrosoftSecurityIncidentCreationAlertRuleTemplate(
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "kind": {"required": True},
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -14489,202 +20049,64 @@ class MicrosoftSecurityIncidentCreationAlertRuleTemplate(
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "required_data_connectors": {
- "key": "properties.requiredDataConnectors",
- "type": "[AlertRuleTemplateDataSource]",
- },
- "status": {"key": "properties.status", "type": "str"},
- "display_names_filter": {"key": "properties.displayNamesFilter", "type": "[str]"},
- "display_names_exclude_filter": {"key": "properties.displayNamesExcludeFilter", "type": "[str]"},
- "product_filter": {"key": "properties.productFilter", "type": "str"},
- "severities_filter": {"key": "properties.severitiesFilter", "type": "[str]"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "consent_id": {"key": "properties.consentId", "type": "str"},
}
- def __init__(
- self,
- *,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- display_names_filter: Optional[List[str]] = None,
- display_names_exclude_filter: Optional[List[str]] = None,
- product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
- severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, consent_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
- :paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
- :paramtype display_names_filter: list[str]
- :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :paramtype display_names_exclude_filter: list[str]
- :keyword product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :paramtype product_filter: str or
- ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :keyword severities_filter: the alerts' severities on which the cases will be generated.
- :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :keyword tenant_id: The tenantId of the Office365 with the consent.
+ :paramtype tenant_id: str
+ :keyword consent_id: Help to easily cascade among the data layers.
+ :paramtype consent_id: str
"""
super().__init__(**kwargs)
- self.kind: str = "MicrosoftSecurityIncidentCreation"
- self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
- self.last_updated_date_utc = None
- self.created_date_utc = None
- self.description = description
- self.display_name = display_name
- self.required_data_connectors = required_data_connectors
- self.status = status
- self.display_names_filter = display_names_filter
- self.display_names_exclude_filter = display_names_exclude_filter
- self.product_filter = product_filter
- self.severities_filter = severities_filter
+ self.tenant_id = tenant_id
+ self.consent_id = consent_id
-class MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties(
- AlertRuleTemplatePropertiesBase
-): # pylint: disable=too-many-instance-attributes
- """MicrosoftSecurityIncidentCreation rule template properties.
+class OfficeConsentList(_serialization.Model):
+ """List of all the office365 consents.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
- :vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar display_names_filter: the alerts' displayNames on which the cases will be generated.
- :vartype display_names_filter: list[str]
- :ivar display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :vartype display_names_exclude_filter: list[str]
- :ivar product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :vartype product_filter: str or ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :ivar severities_filter: the alerts' severities on which the cases will be generated.
- :vartype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of office consents.
+ :vartype next_link: str
+ :ivar value: Array of the consents. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.OfficeConsent]
"""
_validation = {
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
- "description": {"key": "description", "type": "str"},
- "display_name": {"key": "displayName", "type": "str"},
- "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
- "status": {"key": "status", "type": "str"},
- "display_names_filter": {"key": "displayNamesFilter", "type": "[str]"},
- "display_names_exclude_filter": {"key": "displayNamesExcludeFilter", "type": "[str]"},
- "product_filter": {"key": "productFilter", "type": "str"},
- "severities_filter": {"key": "severitiesFilter", "type": "[str]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[OfficeConsent]"},
}
- def __init__(
- self,
- *,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- display_names_filter: Optional[List[str]] = None,
- display_names_exclude_filter: Optional[List[str]] = None,
- product_filter: Optional[Union[str, "_models.MicrosoftSecurityProductName"]] = None,
- severities_filter: Optional[List[Union[str, "_models.AlertSeverity"]]] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.OfficeConsent"], **kwargs: Any) -> None:
"""
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
- :paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword display_names_filter: the alerts' displayNames on which the cases will be generated.
- :paramtype display_names_filter: list[str]
- :keyword display_names_exclude_filter: the alerts' displayNames on which the cases will not be
- generated.
- :paramtype display_names_exclude_filter: list[str]
- :keyword product_filter: The alerts' productName on which the cases will be generated. Known
- values are: "Microsoft Cloud App Security", "Azure Security Center", "Azure Advanced Threat
- Protection", "Azure Active Directory Identity Protection", "Azure Security Center for IoT",
- "Office 365 Advanced Threat Protection", and "Microsoft Defender Advanced Threat Protection".
- :paramtype product_filter: str or
- ~azure.mgmt.securityinsight.models.MicrosoftSecurityProductName
- :keyword severities_filter: the alerts' severities on which the cases will be generated.
- :paramtype severities_filter: list[str or ~azure.mgmt.securityinsight.models.AlertSeverity]
+ :keyword value: Array of the consents. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.OfficeConsent]
"""
- super().__init__(
- alert_rules_created_by_template_count=alert_rules_created_by_template_count,
- description=description,
- display_name=display_name,
- required_data_connectors=required_data_connectors,
- status=status,
- **kwargs
- )
- self.display_names_filter = display_names_filter
- self.display_names_exclude_filter = display_names_exclude_filter
- self.product_filter = product_filter
- self.severities_filter = severities_filter
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class MLBehaviorAnalyticsAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
- """Represents MLBehaviorAnalytics alert rule.
+class OfficeDataConnector(DataConnector):
+ """Represents office data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -14696,27 +20118,19 @@ class MLBehaviorAnalyticsAlertRule(AlertRule): # pylint: disable=too-many-insta
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
- :vartype alert_rule_template_name: str
- :ivar description: The description of the alert rule.
- :vartype description: str
- :ivar display_name: The display name for alerts created by this alert rule.
- :vartype display_name: str
- :ivar enabled: Determines whether this alert rule is enabled or disabled.
- :vartype enabled: bool
- :ivar last_modified_utc: The last time that this alert rule has been modified.
- :vartype last_modified_utc: ~datetime.datetime
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
"""
_validation = {
@@ -14725,12 +20139,6 @@ class MLBehaviorAnalyticsAlertRule(AlertRule): # pylint: disable=too-many-insta
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "description": {"readonly": True},
- "display_name": {"readonly": True},
- "last_modified_utc": {"readonly": True},
- "severity": {"readonly": True},
- "tactics": {"readonly": True},
- "techniques": {"readonly": True},
}
_attribute_map = {
@@ -14740,54 +20148,201 @@ class MLBehaviorAnalyticsAlertRule(AlertRule): # pylint: disable=too-many-insta
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "enabled": {"key": "properties.enabled", "type": "bool"},
- "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
- "severity": {"key": "properties.severity", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "OfficeDataConnectorDataTypes"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.OfficeDataConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "Office365"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
+
+
+class OfficeDataConnectorDataTypes(_serialization.Model):
+ """The available data types for office data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar exchange: Exchange data type connection. Required.
+ :vartype exchange: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesExchange
+ :ivar share_point: SharePoint data type connection. Required.
+ :vartype share_point: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesSharePoint
+ :ivar teams: Teams data type connection. Required.
+ :vartype teams: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesTeams
+ """
+
+ _validation = {
+ "exchange": {"required": True},
+ "share_point": {"required": True},
+ "teams": {"required": True},
+ }
+
+ _attribute_map = {
+ "exchange": {"key": "exchange", "type": "OfficeDataConnectorDataTypesExchange"},
+ "share_point": {"key": "sharePoint", "type": "OfficeDataConnectorDataTypesSharePoint"},
+ "teams": {"key": "teams", "type": "OfficeDataConnectorDataTypesTeams"},
+ }
+
+ def __init__(
+ self,
+ *,
+ exchange: "_models.OfficeDataConnectorDataTypesExchange",
+ share_point: "_models.OfficeDataConnectorDataTypesSharePoint",
+ teams: "_models.OfficeDataConnectorDataTypesTeams",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword exchange: Exchange data type connection. Required.
+ :paramtype exchange: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesExchange
+ :keyword share_point: SharePoint data type connection. Required.
+ :paramtype share_point:
+ ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesSharePoint
+ :keyword teams: Teams data type connection. Required.
+ :paramtype teams: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesTeams
+ """
+ super().__init__(**kwargs)
+ self.exchange = exchange
+ self.share_point = share_point
+ self.teams = teams
+
+
+class OfficeDataConnectorDataTypesExchange(DataConnectorDataTypeCommon):
+ """Exchange data type connection.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class OfficeDataConnectorDataTypesSharePoint(DataConnectorDataTypeCommon):
+ """SharePoint data type connection.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class OfficeDataConnectorDataTypesTeams(DataConnectorDataTypeCommon):
+ """Teams data type connection.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class OfficeDataConnectorProperties(DataConnectorTenantId):
+ """Office data connector properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ """
+
+ _validation = {
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
+ }
+
+ _attribute_map = {
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "OfficeDataConnectorDataTypes"},
+ }
+
+ def __init__(self, *, tenant_id: str, data_types: "_models.OfficeDataConnectorDataTypes", **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ """
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
+
+
+class OfficeIRMCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents OfficeIRM (Microsoft Insider Risk Management) requirements check request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
+ "kind": {"key": "kind", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- alert_rule_template_name: Optional[str] = None,
- enabled: Optional[bool] = None,
- **kwargs
- ):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword alert_rule_template_name: The Name of the alert rule template used to create this
- rule.
- :paramtype alert_rule_template_name: str
- :keyword enabled: Determines whether this alert rule is enabled or disabled.
- :paramtype enabled: bool
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "MLBehaviorAnalytics"
- self.alert_rule_template_name = alert_rule_template_name
- self.description = None
- self.display_name = None
- self.enabled = enabled
- self.last_modified_utc = None
- self.severity = None
- self.tactics = None
- self.techniques = None
+ super().__init__(**kwargs)
+ self.kind: str = "OfficeIRM"
+ self.tenant_id = tenant_id
-class MLBehaviorAnalyticsAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-instance-attributes
- """Represents MLBehaviorAnalytics alert rule template.
+class OfficeIRMCheckRequirementsProperties(DataConnectorTenantId):
+ """OfficeIRM (Microsoft Insider Risk Management) requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
+
+class OfficeIRMDataConnector(DataConnector):
+ """Represents OfficeIRM (Microsoft Insider Risk Management) data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -14797,34 +20352,21 @@ class MLBehaviorAnalyticsAlertRuleTemplate(AlertRuleTemplate): # pylint: disabl
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
- :vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
"""
_validation = {
@@ -14833,8 +20375,6 @@ class MLBehaviorAnalyticsAlertRuleTemplate(AlertRuleTemplate): # pylint: disabl
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -14842,183 +20382,81 @@ class MLBehaviorAnalyticsAlertRuleTemplate(AlertRuleTemplate): # pylint: disabl
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "required_data_connectors": {
- "key": "properties.requiredDataConnectors",
- "type": "[AlertRuleTemplateDataSource]",
- },
- "status": {"key": "properties.status", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
- "severity": {"key": "properties.severity", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
}
def __init__(
self,
*,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
- **kwargs
- ):
+ etag: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
- :paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword tactics: The tactics of the alert rule.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
"""
- super().__init__(**kwargs)
- self.kind: str = "MLBehaviorAnalytics"
- self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
- self.last_updated_date_utc = None
- self.created_date_utc = None
- self.description = description
- self.display_name = display_name
- self.required_data_connectors = required_data_connectors
- self.status = status
- self.tactics = tactics
- self.techniques = techniques
- self.severity = severity
-
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "OfficeIRM"
+ self.tenant_id = tenant_id
+ self.data_types = data_types
-class MLBehaviorAnalyticsAlertRuleTemplateProperties(AlertRuleTemplateWithMitreProperties):
- """MLBehaviorAnalytics alert rule template properties.
- Variables are only populated by the server, and will be ignored when sending a request.
+class OfficeIRMDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
+ """OfficeIRM (Microsoft Insider Risk Management) data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
- :vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
- :ivar severity: The severity for alerts created by this alert rule. Required. Known values are:
- "High", "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
+ :ivar data_types: The available data types for the connector.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
"""
_validation = {
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
- "severity": {"required": True},
+ "tenant_id": {"required": True},
}
_attribute_map = {
- "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
- "description": {"key": "description", "type": "str"},
- "display_name": {"key": "displayName", "type": "str"},
- "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
- "status": {"key": "status", "type": "str"},
- "tactics": {"key": "tactics", "type": "[str]"},
- "techniques": {"key": "techniques", "type": "[str]"},
- "severity": {"key": "severity", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
}
- def __init__(
- self,
- *,
- severity: Union[str, "_models.AlertSeverity"],
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- **kwargs
- ):
- """
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
- :paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword tactics: The tactics of the alert rule.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
- :keyword severity: The severity for alerts created by this alert rule. Required. Known values
- are: "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- """
- super().__init__(
- alert_rules_created_by_template_count=alert_rules_created_by_template_count,
- description=description,
- display_name=display_name,
- required_data_connectors=required_data_connectors,
- status=status,
- tactics=tactics,
- techniques=techniques,
- **kwargs
- )
- self.severity = severity
-
+ def __init__(
+ self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword data_types: The available data types for the connector.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ """
+ super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
+ self.data_types = data_types
+ self.tenant_id = tenant_id
-class MSTICheckRequirements(DataConnectorsCheckRequirements):
- """Represents Microsoft Threat Intelligence requirements check request.
- All required parameters must be populated in order to send to Azure.
+class OfficePowerBICheckRequirements(DataConnectorsCheckRequirements):
+ """Represents Office PowerBI requirements check request.
+
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -15033,50 +20471,72 @@ class MSTICheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
"""
super().__init__(**kwargs)
- self.kind: str = "MicrosoftThreatIntelligence"
+ self.kind: str = "OfficePowerBI"
self.tenant_id = tenant_id
-class MSTICheckRequirementsProperties(DataConnectorTenantId):
- """Microsoft Threat Intelligence requirements check properties.
+class OfficePowerBICheckRequirementsProperties(DataConnectorTenantId):
+ """Office PowerBI requirements check properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
+
+class OfficePowerBIConnectorDataTypes(_serialization.Model):
+ """The available data types for Office Microsoft PowerBI data connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar logs: Logs data type. Required.
+ :vartype logs: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypesLogs
+ """
+
_validation = {
- "tenant_id": {"required": True},
+ "logs": {"required": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "logs": {"key": "logs", "type": "OfficePowerBIConnectorDataTypesLogs"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, logs: "_models.OfficePowerBIConnectorDataTypesLogs", **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword logs: Logs data type. Required.
+ :paramtype logs: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypesLogs
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(**kwargs)
+ self.logs = logs
-class MSTIDataConnector(DataConnector):
- """Represents Microsoft Threat Intelligence data connector.
+class OfficePowerBIConnectorDataTypesLogs(DataConnectorDataTypeCommon):
+ """Logs data type.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class OfficePowerBIDataConnector(DataConnector):
+ """Represents Office Microsoft PowerBI data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -15091,15 +20551,16 @@ class MSTIDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
:ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
+ :vartype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
"""
_validation = {
@@ -15118,7 +20579,7 @@ class MSTIDataConnector(DataConnector):
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
"tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "MSTIDataConnectorDataTypes"},
+ "data_types": {"key": "properties.dataTypes", "type": "OfficePowerBIConnectorDataTypes"},
}
def __init__(
@@ -15126,246 +20587,464 @@ def __init__(
*,
etag: Optional[str] = None,
tenant_id: Optional[str] = None,
- data_types: Optional["_models.MSTIDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ data_types: Optional["_models.OfficePowerBIConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
:keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "MicrosoftThreatIntelligence"
+ self.kind: str = "OfficePowerBI"
self.tenant_id = tenant_id
self.data_types = data_types
-class MSTIDataConnectorDataTypes(_serialization.Model):
- """The available data types for Microsoft Threat Intelligence Platforms data connector.
+class OfficePowerBIDataConnectorProperties(DataConnectorTenantId):
+ """Office Microsoft PowerBI data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar bing_safety_phishing_url: Data type for Microsoft Threat Intelligence Platforms data
- connector. Required.
- :vartype bing_safety_phishing_url:
- ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesBingSafetyPhishingURL
- :ivar microsoft_emerging_threat_feed: Data type for Microsoft Threat Intelligence Platforms
- data connector. Required.
- :vartype microsoft_emerging_threat_feed:
- ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
"""
_validation = {
- "bing_safety_phishing_url": {"required": True},
- "microsoft_emerging_threat_feed": {"required": True},
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
}
_attribute_map = {
- "bing_safety_phishing_url": {
- "key": "bingSafetyPhishingURL",
- "type": "MSTIDataConnectorDataTypesBingSafetyPhishingURL",
- },
- "microsoft_emerging_threat_feed": {
- "key": "microsoftEmergingThreatFeed",
- "type": "MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed",
- },
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "data_types": {"key": "dataTypes", "type": "OfficePowerBIConnectorDataTypes"},
+ }
+
+ def __init__(self, *, tenant_id: str, data_types: "_models.OfficePowerBIConnectorDataTypes", **kwargs: Any) -> None:
+ """
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
+ """
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.data_types = data_types
+
+
+class Operation(_serialization.Model):
+ """Operation provided by provider.
+
+ :ivar display: Properties of the operation.
+ :vartype display: ~azure.mgmt.securityinsight.models.OperationDisplay
+ :ivar name: Name of the operation.
+ :vartype name: str
+ :ivar origin: The origin of the operation.
+ :vartype origin: str
+ :ivar is_data_action: Indicates whether the operation is a data action.
+ :vartype is_data_action: bool
+ """
+
+ _attribute_map = {
+ "display": {"key": "display", "type": "OperationDisplay"},
+ "name": {"key": "name", "type": "str"},
+ "origin": {"key": "origin", "type": "str"},
+ "is_data_action": {"key": "isDataAction", "type": "bool"},
}
def __init__(
self,
*,
- bing_safety_phishing_url: "_models.MSTIDataConnectorDataTypesBingSafetyPhishingURL",
- microsoft_emerging_threat_feed: "_models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed",
- **kwargs
- ):
+ display: Optional["_models.OperationDisplay"] = None,
+ name: Optional[str] = None,
+ origin: Optional[str] = None,
+ is_data_action: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword bing_safety_phishing_url: Data type for Microsoft Threat Intelligence Platforms data
- connector. Required.
- :paramtype bing_safety_phishing_url:
- ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesBingSafetyPhishingURL
- :keyword microsoft_emerging_threat_feed: Data type for Microsoft Threat Intelligence Platforms
- data connector. Required.
- :paramtype microsoft_emerging_threat_feed:
- ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed
+ :keyword display: Properties of the operation.
+ :paramtype display: ~azure.mgmt.securityinsight.models.OperationDisplay
+ :keyword name: Name of the operation.
+ :paramtype name: str
+ :keyword origin: The origin of the operation.
+ :paramtype origin: str
+ :keyword is_data_action: Indicates whether the operation is a data action.
+ :paramtype is_data_action: bool
"""
super().__init__(**kwargs)
- self.bing_safety_phishing_url = bing_safety_phishing_url
- self.microsoft_emerging_threat_feed = microsoft_emerging_threat_feed
-
+ self.display = display
+ self.name = name
+ self.origin = origin
+ self.is_data_action = is_data_action
-class MSTIDataConnectorDataTypesBingSafetyPhishingURL(DataConnectorDataTypeCommon):
- """Data type for Microsoft Threat Intelligence Platforms data connector.
- All required parameters must be populated in order to send to Azure.
+class OperationDisplay(_serialization.Model):
+ """Properties of the operation.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- :ivar lookback_period: lookback period. Required.
- :vartype lookback_period: str
+ :ivar description: Description of the operation.
+ :vartype description: str
+ :ivar operation: Operation name.
+ :vartype operation: str
+ :ivar provider: Provider name.
+ :vartype provider: str
+ :ivar resource: Resource name.
+ :vartype resource: str
"""
- _validation = {
- "state": {"required": True},
- "lookback_period": {"required": True},
- }
-
_attribute_map = {
- "state": {"key": "state", "type": "str"},
- "lookback_period": {"key": "lookbackPeriod", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "operation": {"key": "operation", "type": "str"},
+ "provider": {"key": "provider", "type": "str"},
+ "resource": {"key": "resource", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], lookback_period: str, **kwargs):
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ operation: Optional[str] = None,
+ provider: Optional[str] = None,
+ resource: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- :keyword lookback_period: lookback period. Required.
- :paramtype lookback_period: str
+ :keyword description: Description of the operation.
+ :paramtype description: str
+ :keyword operation: Operation name.
+ :paramtype operation: str
+ :keyword provider: Provider name.
+ :paramtype provider: str
+ :keyword resource: Resource name.
+ :paramtype resource: str
"""
- super().__init__(state=state, **kwargs)
- self.lookback_period = lookback_period
+ super().__init__(**kwargs)
+ self.description = description
+ self.operation = operation
+ self.provider = provider
+ self.resource = resource
-class MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed(DataConnectorDataTypeCommon):
- """Data type for Microsoft Threat Intelligence Platforms data connector.
+class OperationsList(_serialization.Model):
+ """Lists the operations available in the SecurityInsights RP.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- :ivar lookback_period: lookback period. Required.
- :vartype lookback_period: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of operations.
+ :vartype next_link: str
+ :ivar value: Array of operations. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Operation]
"""
_validation = {
- "state": {"required": True},
- "lookback_period": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
- "lookback_period": {"key": "lookbackPeriod", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Operation]"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], lookback_period: str, **kwargs):
+ def __init__(self, *, value: List["_models.Operation"], **kwargs: Any) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- :keyword lookback_period: lookback period. Required.
- :paramtype lookback_period: str
+ :keyword value: Array of operations. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Operation]
"""
- super().__init__(state=state, **kwargs)
- self.lookback_period = lookback_period
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class MSTIDataConnectorProperties(DataConnectorTenantId):
- """Microsoft Threat Intelligence data connector properties.
+class OracleAuthModel(CcpAuthConfig):
+ """Model for API authentication for Oracle.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar tenant_id: Oracle tenant ID. Required.
:vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
+ :ivar user_id: Oracle user ID. Required.
+ :vartype user_id: str
+ :ivar public_fingerprint: Public Fingerprint. Required.
+ :vartype public_fingerprint: str
+ :ivar pem_file: Content of the PRM file. Required.
+ :vartype pem_file: str
"""
_validation = {
+ "type": {"required": True},
"tenant_id": {"required": True},
- "data_types": {"required": True},
+ "user_id": {"required": True},
+ "public_fingerprint": {"required": True},
+ "pem_file": {"required": True},
}
_attribute_map = {
+ "type": {"key": "type", "type": "str"},
"tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "MSTIDataConnectorDataTypes"},
+ "user_id": {"key": "userId", "type": "str"},
+ "public_fingerprint": {"key": "publicFingerprint", "type": "str"},
+ "pem_file": {"key": "pemFile", "type": "str"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.MSTIDataConnectorDataTypes", **kwargs):
+ def __init__(self, *, tenant_id: str, user_id: str, public_fingerprint: str, pem_file: str, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :keyword tenant_id: Oracle tenant ID. Required.
:paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MSTIDataConnectorDataTypes
+ :keyword user_id: Oracle user ID. Required.
+ :paramtype user_id: str
+ :keyword public_fingerprint: Public Fingerprint. Required.
+ :paramtype public_fingerprint: str
+ :keyword pem_file: Content of the PRM file. Required.
+ :paramtype pem_file: str
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
-
+ super().__init__(**kwargs)
+ self.type: str = "Oracle"
+ self.tenant_id = tenant_id
+ self.user_id = user_id
+ self.public_fingerprint = public_fingerprint
+ self.pem_file = pem_file
-class MtpCheckRequirements(DataConnectorsCheckRequirements):
- """Represents MTP (Microsoft Threat Protection) requirements check request.
- All required parameters must be populated in order to send to Azure.
+class PackageBaseProperties(_serialization.Model):
+ """Describes package properties.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar content_id: The content id of the package.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :vartype content_product_id: str
+ :ivar content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar content_schema_version: The version of the content schema.
+ :vartype content_schema_version: str
+ :ivar is_new: Flag indicates if this is a newly published package. Known values are: "true" and
+ "false".
+ :vartype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :vartype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_featured: Flag indicates if this package is among the featured list. Known values are:
+ "true" and "false".
+ :vartype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar version: the latest version number of the package.
+ :vartype version: str
+ :ivar display_name: The display name of the package.
+ :vartype display_name: str
+ :ivar description: The description of the package.
+ :vartype description: str
+ :ivar publisher_display_name: The publisher display name of the package.
+ :vartype publisher_display_name: str
+ :ivar source: The source of the package.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The author of the package.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: The support tier of the package.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: The support tier of the package.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar providers: Providers for the package item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date package item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the package item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar categories: The categories of the package.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
"""
- _validation = {
- "kind": {"required": True},
- }
-
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "content_id": {"key": "contentId", "type": "str"},
+ "content_product_id": {"key": "contentProductId", "type": "str"},
+ "content_kind": {"key": "contentKind", "type": "str"},
+ "content_schema_version": {"key": "contentSchemaVersion", "type": "str"},
+ "is_new": {"key": "isNew", "type": "str"},
+ "is_preview": {"key": "isPreview", "type": "str"},
+ "is_featured": {"key": "isFeatured", "type": "str"},
+ "is_deprecated": {"key": "isDeprecated", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "publisher_display_name": {"key": "publisherDisplayName", "type": "str"},
+ "source": {"key": "source", "type": "MetadataSource"},
+ "author": {"key": "author", "type": "MetadataAuthor"},
+ "support": {"key": "support", "type": "MetadataSupport"},
+ "dependencies": {"key": "dependencies", "type": "MetadataDependencies"},
+ "providers": {"key": "providers", "type": "[str]"},
+ "first_publish_date": {"key": "firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "lastPublishDate", "type": "date"},
+ "categories": {"key": "categories", "type": "MetadataCategories"},
+ "threat_analysis_tactics": {"key": "threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "threatAnalysisTechniques", "type": "[str]"},
+ "icon": {"key": "icon", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ content_schema_version: Optional[str] = None,
+ is_new: Optional[Union[str, "_models.Flag"]] = None,
+ is_preview: Optional[Union[str, "_models.Flag"]] = None,
+ is_featured: Optional[Union[str, "_models.Flag"]] = None,
+ is_deprecated: Optional[Union[str, "_models.Flag"]] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ publisher_display_name: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ icon: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
+ :keyword content_id: The content id of the package.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :paramtype content_product_id: str
+ :keyword content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword content_schema_version: The version of the content schema.
+ :paramtype content_schema_version: str
+ :keyword is_new: Flag indicates if this is a newly published package. Known values are: "true"
+ and "false".
+ :paramtype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :paramtype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_featured: Flag indicates if this package is among the featured list. Known values
+ are: "true" and "false".
+ :paramtype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :paramtype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword version: the latest version number of the package.
+ :paramtype version: str
+ :keyword display_name: The display name of the package.
+ :paramtype display_name: str
+ :keyword description: The description of the package.
+ :paramtype description: str
+ :keyword publisher_display_name: The publisher display name of the package.
+ :paramtype publisher_display_name: str
+ :keyword source: The source of the package.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The author of the package.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: The support tier of the package.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: The support tier of the package.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword providers: Providers for the package item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date package item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the package item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword categories: The categories of the package.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
"""
super().__init__(**kwargs)
- self.kind: str = "MicrosoftThreatProtection"
- self.tenant_id = tenant_id
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.content_kind = content_kind
+ self.content_schema_version = content_schema_version
+ self.is_new = is_new
+ self.is_preview = is_preview
+ self.is_featured = is_featured
+ self.is_deprecated = is_deprecated
+ self.version = version
+ self.display_name = display_name
+ self.description = description
+ self.publisher_display_name = publisher_display_name
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.categories = categories
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.icon = icon
-class MTPCheckRequirementsProperties(DataConnectorTenantId):
- """MTP (Microsoft Threat Protection) requirements check properties.
+class PackageList(_serialization.Model):
+ """List available packages.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of packages.
+ :vartype next_link: str
+ :ivar value: Array of packages. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.PackageModel]
"""
_validation = {
- "tenant_id": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[PackageModel]"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, value: List["_models.PackageModel"], **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword value: Array of packages. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.PackageModel]
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class MTPDataConnector(DataConnector):
- """Represents MTP (Microsoft Threat Protection) data connector.
+class PackageModel(ResourceWithEtag):
+ """Represents a Package in Azure Security Insights.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -15377,156 +21056,436 @@ class MTPDataConnector(DataConnector):
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :ivar content_id: The content id of the package.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :vartype content_product_id: str
+ :ivar content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar content_schema_version: The version of the content schema.
+ :vartype content_schema_version: str
+ :ivar is_new: Flag indicates if this is a newly published package. Known values are: "true" and
+ "false".
+ :vartype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :vartype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_featured: Flag indicates if this package is among the featured list. Known values are:
+ "true" and "false".
+ :vartype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar version: the latest version number of the package.
+ :vartype version: str
+ :ivar display_name: The display name of the package.
+ :vartype display_name: str
+ :ivar description: The description of the package.
+ :vartype description: str
+ :ivar publisher_display_name: The publisher display name of the package.
+ :vartype publisher_display_name: str
+ :ivar source: The source of the package.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The author of the package.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: The support tier of the package.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: The support tier of the package.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar providers: Providers for the package item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date package item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the package item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar categories: The categories of the package.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "content_product_id": {"key": "properties.contentProductId", "type": "str"},
+ "content_kind": {"key": "properties.contentKind", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "is_new": {"key": "properties.isNew", "type": "str"},
+ "is_preview": {"key": "properties.isPreview", "type": "str"},
+ "is_featured": {"key": "properties.isFeatured", "type": "str"},
+ "is_deprecated": {"key": "properties.isDeprecated", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "publisher_display_name": {"key": "properties.publisherDisplayName", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ content_schema_version: Optional[str] = None,
+ is_new: Optional[Union[str, "_models.Flag"]] = None,
+ is_preview: Optional[Union[str, "_models.Flag"]] = None,
+ is_featured: Optional[Union[str, "_models.Flag"]] = None,
+ is_deprecated: Optional[Union[str, "_models.Flag"]] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ publisher_display_name: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ icon: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: The content id of the package.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :paramtype content_product_id: str
+ :keyword content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword content_schema_version: The version of the content schema.
+ :paramtype content_schema_version: str
+ :keyword is_new: Flag indicates if this is a newly published package. Known values are: "true"
+ and "false".
+ :paramtype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :paramtype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_featured: Flag indicates if this package is among the featured list. Known values
+ are: "true" and "false".
+ :paramtype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :paramtype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword version: the latest version number of the package.
+ :paramtype version: str
+ :keyword display_name: The display name of the package.
+ :paramtype display_name: str
+ :keyword description: The description of the package.
+ :paramtype description: str
+ :keyword publisher_display_name: The publisher display name of the package.
+ :paramtype publisher_display_name: str
+ :keyword source: The source of the package.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The author of the package.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: The support tier of the package.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: The support tier of the package.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword providers: Providers for the package item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date package item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the package item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword categories: The categories of the package.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.content_kind = content_kind
+ self.content_schema_version = content_schema_version
+ self.is_new = is_new
+ self.is_preview = is_preview
+ self.is_featured = is_featured
+ self.is_deprecated = is_deprecated
+ self.version = version
+ self.display_name = display_name
+ self.description = description
+ self.publisher_display_name = publisher_display_name
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.categories = categories
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.icon = icon
+
+
+class PackageProperties(PackageBaseProperties):
+ """Describes package properties.
+
+ :ivar content_id: The content id of the package.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :vartype content_product_id: str
+ :ivar content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar content_schema_version: The version of the content schema.
+ :vartype content_schema_version: str
+ :ivar is_new: Flag indicates if this is a newly published package. Known values are: "true" and
+ "false".
+ :vartype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :vartype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_featured: Flag indicates if this package is among the featured list. Known values are:
+ "true" and "false".
+ :vartype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar version: the latest version number of the package.
+ :vartype version: str
+ :ivar display_name: The display name of the package.
+ :vartype display_name: str
+ :ivar description: The description of the package.
+ :vartype description: str
+ :ivar publisher_display_name: The publisher display name of the package.
+ :vartype publisher_display_name: str
+ :ivar source: The source of the package.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The author of the package.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: The support tier of the package.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: The support tier of the package.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar providers: Providers for the package item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date package item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the package item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar categories: The categories of the package.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ """
+
+
+class Permissions(_serialization.Model):
+ """Permissions required for the connector.
+
+ :ivar resource_provider: Resource provider permissions required for the connector.
+ :vartype resource_provider:
+ list[~azure.mgmt.securityinsight.models.PermissionsResourceProviderItem]
+ :ivar customs: Customs permissions required for the connector.
+ :vartype customs: list[~azure.mgmt.securityinsight.models.PermissionsCustomsItem]
"""
- _validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- }
-
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "MTPDataConnectorDataTypes"},
+ "resource_provider": {"key": "resourceProvider", "type": "[PermissionsResourceProviderItem]"},
+ "customs": {"key": "customs", "type": "[PermissionsCustomsItem]"},
}
def __init__(
self,
*,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.MTPDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ resource_provider: Optional[List["_models.PermissionsResourceProviderItem"]] = None,
+ customs: Optional[List["_models.PermissionsCustomsItem"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
+ :keyword resource_provider: Resource provider permissions required for the connector.
+ :paramtype resource_provider:
+ list[~azure.mgmt.securityinsight.models.PermissionsResourceProviderItem]
+ :keyword customs: Customs permissions required for the connector.
+ :paramtype customs: list[~azure.mgmt.securityinsight.models.PermissionsCustomsItem]
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "MicrosoftThreatProtection"
- self.tenant_id = tenant_id
- self.data_types = data_types
-
+ super().__init__(**kwargs)
+ self.resource_provider = resource_provider
+ self.customs = customs
-class MTPDataConnectorDataTypes(_serialization.Model):
- """The available data types for Microsoft Threat Protection Platforms data connector.
- All required parameters must be populated in order to send to Azure.
+class PermissionsCustomsItem(Customs):
+ """PermissionsCustomsItem.
- :ivar incidents: Data type for Microsoft Threat Protection Platforms data connector. Required.
- :vartype incidents: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesIncidents
+ :ivar name: Customs permissions name.
+ :vartype name: str
+ :ivar description: Customs permissions description.
+ :vartype description: str
"""
- _validation = {
- "incidents": {"required": True},
- }
+
+class ResourceProvider(_serialization.Model):
+ """Resource provider permissions required for the connector.
+
+ :ivar provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
+ "Microsoft.OperationalInsights/workspaces",
+ "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
+ "Microsoft.OperationalInsights/workspaces/sharedKeys", and
+ "Microsoft.Authorization/policyAssignments".
+ :vartype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
+ :ivar permissions_display_text: Permission description text.
+ :vartype permissions_display_text: str
+ :ivar provider_display_name: Permission provider display name.
+ :vartype provider_display_name: str
+ :ivar scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription", and
+ "Workspace".
+ :vartype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
+ :ivar required_permissions: Required permissions for the connector.
+ :vartype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
+ """
_attribute_map = {
- "incidents": {"key": "incidents", "type": "MTPDataConnectorDataTypesIncidents"},
+ "provider": {"key": "provider", "type": "str"},
+ "permissions_display_text": {"key": "permissionsDisplayText", "type": "str"},
+ "provider_display_name": {"key": "providerDisplayName", "type": "str"},
+ "scope": {"key": "scope", "type": "str"},
+ "required_permissions": {"key": "requiredPermissions", "type": "RequiredPermissions"},
}
- def __init__(self, *, incidents: "_models.MTPDataConnectorDataTypesIncidents", **kwargs):
+ def __init__(
+ self,
+ *,
+ provider: Optional[Union[str, "_models.ProviderName"]] = None,
+ permissions_display_text: Optional[str] = None,
+ provider_display_name: Optional[str] = None,
+ scope: Optional[Union[str, "_models.PermissionProviderScope"]] = None,
+ required_permissions: Optional["_models.RequiredPermissions"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword incidents: Data type for Microsoft Threat Protection Platforms data connector.
- Required.
- :paramtype incidents: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypesIncidents
+ :keyword provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
+ "Microsoft.OperationalInsights/workspaces",
+ "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
+ "Microsoft.OperationalInsights/workspaces/sharedKeys", and
+ "Microsoft.Authorization/policyAssignments".
+ :paramtype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
+ :keyword permissions_display_text: Permission description text.
+ :paramtype permissions_display_text: str
+ :keyword provider_display_name: Permission provider display name.
+ :paramtype provider_display_name: str
+ :keyword scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription",
+ and "Workspace".
+ :paramtype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
+ :keyword required_permissions: Required permissions for the connector.
+ :paramtype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
"""
super().__init__(**kwargs)
- self.incidents = incidents
-
+ self.provider = provider
+ self.permissions_display_text = permissions_display_text
+ self.provider_display_name = provider_display_name
+ self.scope = scope
+ self.required_permissions = required_permissions
-class MTPDataConnectorDataTypesIncidents(DataConnectorDataTypeCommon):
- """Data type for Microsoft Threat Protection Platforms data connector.
- All required parameters must be populated in order to send to Azure.
+class PermissionsResourceProviderItem(ResourceProvider):
+ """PermissionsResourceProviderItem.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
+ "Microsoft.OperationalInsights/workspaces",
+ "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
+ "Microsoft.OperationalInsights/workspaces/sharedKeys", and
+ "Microsoft.Authorization/policyAssignments".
+ :vartype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
+ :ivar permissions_display_text: Permission description text.
+ :vartype permissions_display_text: str
+ :ivar provider_display_name: Permission provider display name.
+ :vartype provider_display_name: str
+ :ivar scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription", and
+ "Workspace".
+ :vartype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
+ :ivar required_permissions: Required permissions for the connector.
+ :vartype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
"""
- _validation = {
- "state": {"required": True},
- }
-
- _attribute_map = {
- "state": {"key": "state", "type": "str"},
- }
-
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
-
-class MTPDataConnectorProperties(DataConnectorTenantId):
- """MTP (Microsoft Threat Protection) data connector properties.
+class PlaybookActionProperties(_serialization.Model):
+ """PlaybookActionProperties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :ivar logic_app_resource_id: The resource id of the playbook resource. Required.
+ :vartype logic_app_resource_id: str
+ :ivar tenant_id: The tenant id of the playbook resource.
:vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
"""
_validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
+ "logic_app_resource_id": {"required": True},
}
_attribute_map = {
+ "logic_app_resource_id": {"key": "logicAppResourceId", "type": "str"},
"tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "MTPDataConnectorDataTypes"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.MTPDataConnectorDataTypes", **kwargs):
+ def __init__(self, *, logic_app_resource_id: str, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :keyword logic_app_resource_id: The resource id of the playbook resource. Required.
+ :paramtype logic_app_resource_id: str
+ :keyword tenant_id: The tenant id of the playbook resource.
:paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.MTPDataConnectorDataTypes
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ super().__init__(**kwargs)
+ self.logic_app_resource_id = logic_app_resource_id
+ self.tenant_id = tenant_id
-class NicEntity(Entity):
- """Represents an network interface entity.
+class ProcessEntity(Entity):
+ """Represents a process entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -15540,19 +21499,32 @@ class NicEntity(Entity):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
:ivar friendly_name: The graph item display name which is a short humanly readable description
of the graph item instance. This property is optional and might be system generated.
:vartype friendly_name: str
- :ivar mac_address: The MAC address of this network interface.
- :vartype mac_address: str
- :ivar ip_address_entity_id: The IP entity id of this network interface.
- :vartype ip_address_entity_id: str
- :ivar vlans: A list of VLANs of the network interface entity.
- :vartype vlans: list[str]
+ :ivar account_entity_id: The account entity id running the processes.
+ :vartype account_entity_id: str
+ :ivar command_line: The command line used to create the process.
+ :vartype command_line: str
+ :ivar creation_time_utc: The time when the process started to run.
+ :vartype creation_time_utc: ~datetime.datetime
+ :ivar elevation_token: The elevation token associated with the process. Known values are:
+ "Default", "Full", and "Limited".
+ :vartype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ :ivar host_entity_id: The host entity id on which the process was running.
+ :vartype host_entity_id: str
+ :ivar host_logon_session_entity_id: The session entity id in which the process was running.
+ :vartype host_logon_session_entity_id: str
+ :ivar image_file_entity_id: Image file entity id.
+ :vartype image_file_entity_id: str
+ :ivar parent_process_entity_id: The parent process entity id.
+ :vartype parent_process_entity_id: str
+ :ivar process_id: The process ID.
+ :vartype process_id: str
"""
_validation = {
@@ -15563,9 +21535,14 @@ class NicEntity(Entity):
"kind": {"required": True},
"additional_data": {"readonly": True},
"friendly_name": {"readonly": True},
- "mac_address": {"readonly": True},
- "ip_address_entity_id": {"readonly": True},
- "vlans": {"readonly": True},
+ "account_entity_id": {"readonly": True},
+ "command_line": {"readonly": True},
+ "creation_time_utc": {"readonly": True},
+ "host_entity_id": {"readonly": True},
+ "host_logon_session_entity_id": {"readonly": True},
+ "image_file_entity_id": {"readonly": True},
+ "parent_process_entity_id": {"readonly": True},
+ "process_id": {"readonly": True},
}
_attribute_map = {
@@ -15576,24 +21553,42 @@ class NicEntity(Entity):
"kind": {"key": "kind", "type": "str"},
"additional_data": {"key": "properties.additionalData", "type": "{object}"},
"friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "mac_address": {"key": "properties.macAddress", "type": "str"},
- "ip_address_entity_id": {"key": "properties.ipAddressEntityId", "type": "str"},
- "vlans": {"key": "properties.vlans", "type": "[str]"},
+ "account_entity_id": {"key": "properties.accountEntityId", "type": "str"},
+ "command_line": {"key": "properties.commandLine", "type": "str"},
+ "creation_time_utc": {"key": "properties.creationTimeUtc", "type": "iso-8601"},
+ "elevation_token": {"key": "properties.elevationToken", "type": "str"},
+ "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
+ "host_logon_session_entity_id": {"key": "properties.hostLogonSessionEntityId", "type": "str"},
+ "image_file_entity_id": {"key": "properties.imageFileEntityId", "type": "str"},
+ "parent_process_entity_id": {"key": "properties.parentProcessEntityId", "type": "str"},
+ "process_id": {"key": "properties.processId", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self, *, elevation_token: Optional[Union[str, "_models.ElevationToken"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword elevation_token: The elevation token associated with the process. Known values are:
+ "Default", "Full", and "Limited".
+ :paramtype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ """
super().__init__(**kwargs)
- self.kind: str = "Nic"
+ self.kind: str = "Process"
self.additional_data = None
self.friendly_name = None
- self.mac_address = None
- self.ip_address_entity_id = None
- self.vlans = None
+ self.account_entity_id = None
+ self.command_line = None
+ self.creation_time_utc = None
+ self.elevation_token = elevation_token
+ self.host_entity_id = None
+ self.host_logon_session_entity_id = None
+ self.image_file_entity_id = None
+ self.parent_process_entity_id = None
+ self.process_id = None
-class NicEntityProperties(EntityCommonProperties):
- """Nic entity property bag.
+class ProcessEntityProperties(EntityCommonProperties):
+ """Process entity property bag.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -15601,245 +21596,157 @@ class NicEntityProperties(EntityCommonProperties):
presented to the user.
:vartype additional_data: dict[str, any]
:ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar mac_address: The MAC address of this network interface.
- :vartype mac_address: str
- :ivar ip_address_entity_id: The IP entity id of this network interface.
- :vartype ip_address_entity_id: str
- :ivar vlans: A list of VLANs of the network interface entity.
- :vartype vlans: list[str]
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar account_entity_id: The account entity id running the processes.
+ :vartype account_entity_id: str
+ :ivar command_line: The command line used to create the process.
+ :vartype command_line: str
+ :ivar creation_time_utc: The time when the process started to run.
+ :vartype creation_time_utc: ~datetime.datetime
+ :ivar elevation_token: The elevation token associated with the process. Known values are:
+ "Default", "Full", and "Limited".
+ :vartype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ :ivar host_entity_id: The host entity id on which the process was running.
+ :vartype host_entity_id: str
+ :ivar host_logon_session_entity_id: The session entity id in which the process was running.
+ :vartype host_logon_session_entity_id: str
+ :ivar image_file_entity_id: Image file entity id.
+ :vartype image_file_entity_id: str
+ :ivar parent_process_entity_id: The parent process entity id.
+ :vartype parent_process_entity_id: str
+ :ivar process_id: The process ID.
+ :vartype process_id: str
"""
_validation = {
"additional_data": {"readonly": True},
"friendly_name": {"readonly": True},
- "mac_address": {"readonly": True},
- "ip_address_entity_id": {"readonly": True},
- "vlans": {"readonly": True},
+ "account_entity_id": {"readonly": True},
+ "command_line": {"readonly": True},
+ "creation_time_utc": {"readonly": True},
+ "host_entity_id": {"readonly": True},
+ "host_logon_session_entity_id": {"readonly": True},
+ "image_file_entity_id": {"readonly": True},
+ "parent_process_entity_id": {"readonly": True},
+ "process_id": {"readonly": True},
}
_attribute_map = {
"additional_data": {"key": "additionalData", "type": "{object}"},
"friendly_name": {"key": "friendlyName", "type": "str"},
- "mac_address": {"key": "macAddress", "type": "str"},
- "ip_address_entity_id": {"key": "ipAddressEntityId", "type": "str"},
- "vlans": {"key": "vlans", "type": "[str]"},
+ "account_entity_id": {"key": "accountEntityId", "type": "str"},
+ "command_line": {"key": "commandLine", "type": "str"},
+ "creation_time_utc": {"key": "creationTimeUtc", "type": "iso-8601"},
+ "elevation_token": {"key": "elevationToken", "type": "str"},
+ "host_entity_id": {"key": "hostEntityId", "type": "str"},
+ "host_logon_session_entity_id": {"key": "hostLogonSessionEntityId", "type": "str"},
+ "image_file_entity_id": {"key": "imageFileEntityId", "type": "str"},
+ "parent_process_entity_id": {"key": "parentProcessEntityId", "type": "str"},
+ "process_id": {"key": "processId", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self, *, elevation_token: Optional[Union[str, "_models.ElevationToken"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword elevation_token: The elevation token associated with the process. Known values are:
+ "Default", "Full", and "Limited".
+ :paramtype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ """
super().__init__(**kwargs)
- self.mac_address = None
- self.ip_address_entity_id = None
- self.vlans = None
+ self.account_entity_id = None
+ self.command_line = None
+ self.creation_time_utc = None
+ self.elevation_token = elevation_token
+ self.host_entity_id = None
+ self.host_logon_session_entity_id = None
+ self.image_file_entity_id = None
+ self.parent_process_entity_id = None
+ self.process_id = None
-class NrtAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
- """Represents NRT alert rule.
+class ProductPackageAdditionalProperties(_serialization.Model):
+ """product package additional properties.
+
+ :ivar installed_version: The version of the installed package, null or absent means not
+ installed.
+ :vartype installed_version: str
+ :ivar metadata_resource_id: The metadata resource id.
+ :vartype metadata_resource_id: str
+ :ivar packaged_content: The json of the ARM template to deploy. Expandable.
+ :vartype packaged_content: JSON
+ """
+
+ _attribute_map = {
+ "installed_version": {"key": "installedVersion", "type": "str"},
+ "metadata_resource_id": {"key": "metadataResourceId", "type": "str"},
+ "packaged_content": {"key": "packagedContent", "type": "object"},
+ }
+
+ def __init__(
+ self,
+ *,
+ installed_version: Optional[str] = None,
+ metadata_resource_id: Optional[str] = None,
+ packaged_content: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword installed_version: The version of the installed package, null or absent means not
+ installed.
+ :paramtype installed_version: str
+ :keyword metadata_resource_id: The metadata resource id.
+ :paramtype metadata_resource_id: str
+ :keyword packaged_content: The json of the ARM template to deploy. Expandable.
+ :paramtype packaged_content: JSON
+ """
+ super().__init__(**kwargs)
+ self.installed_version = installed_version
+ self.metadata_resource_id = metadata_resource_id
+ self.packaged_content = packaged_content
+
+
+class ProductPackageList(_serialization.Model):
+ """List available packages.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rule_template_name: The Name of the alert rule template used to create this rule.
- :vartype alert_rule_template_name: str
- :ivar template_version: The version of the alert rule template used to create this rule - in
- format , where all are numbers, for example 0 <1.0.2>.
- :vartype template_version: str
- :ivar description: The description of the alert rule.
- :vartype description: str
- :ivar query: The query that creates alerts for this rule.
- :vartype query: str
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
- :ivar display_name: The display name for alerts created by this alert rule.
- :vartype display_name: str
- :ivar enabled: Determines whether this alert rule is enabled or disabled.
- :vartype enabled: bool
- :ivar last_modified_utc: The last time that this alert rule has been modified.
- :vartype last_modified_utc: ~datetime.datetime
- :ivar suppression_duration: The suppression (in ISO 8601 duration format) to wait since last
- time this alert rule been triggered.
- :vartype suppression_duration: ~datetime.timedelta
- :ivar suppression_enabled: Determines whether the suppression for this alert rule is enabled or
- disabled.
- :vartype suppression_enabled: bool
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar incident_configuration: The settings of the incidents that created from alerts triggered
- by this analytics rule.
- :vartype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
- :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :vartype custom_details: dict[str, str]
- :ivar entity_mappings: Array of the entity mappings of the alert rule.
- :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :ivar alert_details_override: The alert details override settings.
- :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :ivar event_grouping_settings: The event grouping settings.
- :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :vartype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :ivar next_link: URL to fetch the next set of packages.
+ :vartype next_link: str
+ :ivar value: Array of packages. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.ProductPackageModel]
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "last_modified_utc": {"readonly": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "alert_rule_template_name": {"key": "properties.alertRuleTemplateName", "type": "str"},
- "template_version": {"key": "properties.templateVersion", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "query": {"key": "properties.query", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "enabled": {"key": "properties.enabled", "type": "bool"},
- "last_modified_utc": {"key": "properties.lastModifiedUtc", "type": "iso-8601"},
- "suppression_duration": {"key": "properties.suppressionDuration", "type": "duration"},
- "suppression_enabled": {"key": "properties.suppressionEnabled", "type": "bool"},
- "severity": {"key": "properties.severity", "type": "str"},
- "incident_configuration": {"key": "properties.incidentConfiguration", "type": "IncidentConfiguration"},
- "custom_details": {"key": "properties.customDetails", "type": "{str}"},
- "entity_mappings": {"key": "properties.entityMappings", "type": "[EntityMapping]"},
- "alert_details_override": {"key": "properties.alertDetailsOverride", "type": "AlertDetailsOverride"},
- "event_grouping_settings": {"key": "properties.eventGroupingSettings", "type": "EventGroupingSettings"},
- "sentinel_entities_mappings": {"key": "properties.sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[ProductPackageModel]"},
}
- def __init__( # pylint: disable=too-many-locals
- self,
- *,
- etag: Optional[str] = None,
- alert_rule_template_name: Optional[str] = None,
- template_version: Optional[str] = None,
- description: Optional[str] = None,
- query: Optional[str] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- display_name: Optional[str] = None,
- enabled: Optional[bool] = None,
- suppression_duration: Optional[datetime.timedelta] = None,
- suppression_enabled: Optional[bool] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
- incident_configuration: Optional["_models.IncidentConfiguration"] = None,
- custom_details: Optional[Dict[str, str]] = None,
- entity_mappings: Optional[List["_models.EntityMapping"]] = None,
- alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
- event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
- sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- **kwargs
- ):
+ def __init__(self, *, value: List["_models.ProductPackageModel"], **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword alert_rule_template_name: The Name of the alert rule template used to create this
- rule.
- :paramtype alert_rule_template_name: str
- :keyword template_version: The version of the alert rule template used to create this rule - in
- format , where all are numbers, for example 0 <1.0.2>.
- :paramtype template_version: str
- :keyword description: The description of the alert rule.
- :paramtype description: str
- :keyword query: The query that creates alerts for this rule.
- :paramtype query: str
- :keyword tactics: The tactics of the alert rule.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
- :keyword display_name: The display name for alerts created by this alert rule.
- :paramtype display_name: str
- :keyword enabled: Determines whether this alert rule is enabled or disabled.
- :paramtype enabled: bool
- :keyword suppression_duration: The suppression (in ISO 8601 duration format) to wait since last
- time this alert rule been triggered.
- :paramtype suppression_duration: ~datetime.timedelta
- :keyword suppression_enabled: Determines whether the suppression for this alert rule is enabled
- or disabled.
- :paramtype suppression_enabled: bool
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword incident_configuration: The settings of the incidents that created from alerts
- triggered by this analytics rule.
- :paramtype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
- :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :paramtype custom_details: dict[str, str]
- :keyword entity_mappings: Array of the entity mappings of the alert rule.
- :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :keyword alert_details_override: The alert details override settings.
- :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :keyword event_grouping_settings: The event grouping settings.
- :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :paramtype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :keyword value: Array of packages. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.ProductPackageModel]
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "NRT"
- self.alert_rule_template_name = alert_rule_template_name
- self.template_version = template_version
- self.description = description
- self.query = query
- self.tactics = tactics
- self.techniques = techniques
- self.display_name = display_name
- self.enabled = enabled
- self.last_modified_utc = None
- self.suppression_duration = suppression_duration
- self.suppression_enabled = suppression_enabled
- self.severity = severity
- self.incident_configuration = incident_configuration
- self.custom_details = custom_details
- self.entity_mappings = entity_mappings
- self.alert_details_override = alert_details_override
- self.event_grouping_settings = event_grouping_settings
- self.sentinel_entities_mappings = sentinel_entities_mappings
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class NrtAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-instance-attributes
- """Represents NRT alert rule template.
+class ProductPackageModel(ResourceWithEtag):
+ """Represents a Package in Azure Security Insights.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -15849,51 +21756,67 @@ class NrtAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-insta
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the alert rule. Required. Known values are: "Scheduled",
- "MicrosoftSecurityIncidentCreation", "Fusion", "MLBehaviorAnalytics", "ThreatIntelligence", and
- "NRT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.AlertRuleKind
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
- :vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
- :ivar query: The query that creates alerts for this rule.
- :vartype query: str
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar content_id: The content id of the package.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :vartype content_product_id: str
+ :ivar content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar content_schema_version: The version of the content schema.
+ :vartype content_schema_version: str
+ :ivar is_new: Flag indicates if this is a newly published package. Known values are: "true" and
+ "false".
+ :vartype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :vartype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_featured: Flag indicates if this package is among the featured list. Known values are:
+ "true" and "false".
+ :vartype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar version: the latest version number of the package.
:vartype version: str
- :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :vartype custom_details: dict[str, str]
- :ivar entity_mappings: Array of the entity mappings of the alert rule.
- :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :ivar alert_details_override: The alert details override settings.
- :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :ivar event_grouping_settings: The event grouping settings.
- :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :vartype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :ivar display_name: The display name of the package.
+ :vartype display_name: str
+ :ivar description: The description of the package.
+ :vartype description: str
+ :ivar publisher_display_name: The publisher display name of the package.
+ :vartype publisher_display_name: str
+ :ivar source: The source of the package.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The author of the package.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: The support tier of the package.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: The support tier of the package.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar providers: Providers for the package item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date package item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the package item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar categories: The categories of the package.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar installed_version: The version of the installed package, null or absent means not
+ installed.
+ :vartype installed_version: str
+ :ivar metadata_resource_id: The metadata resource id.
+ :vartype metadata_resource_id: str
+ :ivar packaged_content: The json of the ARM template to deploy. Expandable.
+ :vartype packaged_content: JSON
"""
_validation = {
@@ -15901,9 +21824,6 @@ class NrtAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-insta
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "kind": {"required": True},
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
}
_attribute_map = {
@@ -15911,845 +21831,1499 @@ class NrtAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-insta
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "alert_rules_created_by_template_count": {"key": "properties.alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "properties.lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "properties.createdDateUTC", "type": "iso-8601"},
- "description": {"key": "properties.description", "type": "str"},
- "display_name": {"key": "properties.displayName", "type": "str"},
- "required_data_connectors": {
- "key": "properties.requiredDataConnectors",
- "type": "[AlertRuleTemplateDataSource]",
- },
- "status": {"key": "properties.status", "type": "str"},
- "tactics": {"key": "properties.tactics", "type": "[str]"},
- "techniques": {"key": "properties.techniques", "type": "[str]"},
- "query": {"key": "properties.query", "type": "str"},
- "severity": {"key": "properties.severity", "type": "str"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "content_product_id": {"key": "properties.contentProductId", "type": "str"},
+ "content_kind": {"key": "properties.contentKind", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "is_new": {"key": "properties.isNew", "type": "str"},
+ "is_preview": {"key": "properties.isPreview", "type": "str"},
+ "is_featured": {"key": "properties.isFeatured", "type": "str"},
+ "is_deprecated": {"key": "properties.isDeprecated", "type": "str"},
"version": {"key": "properties.version", "type": "str"},
- "custom_details": {"key": "properties.customDetails", "type": "{str}"},
- "entity_mappings": {"key": "properties.entityMappings", "type": "[EntityMapping]"},
- "alert_details_override": {"key": "properties.alertDetailsOverride", "type": "AlertDetailsOverride"},
- "event_grouping_settings": {"key": "properties.eventGroupingSettings", "type": "EventGroupingSettings"},
- "sentinel_entities_mappings": {"key": "properties.sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
- }
-
- def __init__(
- self,
- *,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
- display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- query: Optional[str] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
- version: Optional[str] = None,
- custom_details: Optional[Dict[str, str]] = None,
- entity_mappings: Optional[List["_models.EntityMapping"]] = None,
- alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
- event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
- sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- **kwargs
- ):
- """
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
- :paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword tactics: The tactics of the alert rule.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
- :keyword query: The query that creates alerts for this rule.
- :paramtype query: str
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
- :paramtype version: str
- :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :paramtype custom_details: dict[str, str]
- :keyword entity_mappings: Array of the entity mappings of the alert rule.
- :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :keyword alert_details_override: The alert details override settings.
- :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :keyword event_grouping_settings: The event grouping settings.
- :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :paramtype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
- """
- super().__init__(**kwargs)
- self.kind: str = "NRT"
- self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
- self.last_updated_date_utc = None
- self.created_date_utc = None
- self.description = description
- self.display_name = display_name
- self.required_data_connectors = required_data_connectors
- self.status = status
- self.tactics = tactics
- self.techniques = techniques
- self.query = query
- self.severity = severity
- self.version = version
- self.custom_details = custom_details
- self.entity_mappings = entity_mappings
- self.alert_details_override = alert_details_override
- self.event_grouping_settings = event_grouping_settings
- self.sentinel_entities_mappings = sentinel_entities_mappings
-
-
-class QueryBasedAlertRuleTemplateProperties(_serialization.Model):
- """Query based alert rule template base property bag.
-
- :ivar query: The query that creates alerts for this rule.
- :vartype query: str
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
- :vartype version: str
- :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :vartype custom_details: dict[str, str]
- :ivar entity_mappings: Array of the entity mappings of the alert rule.
- :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :ivar alert_details_override: The alert details override settings.
- :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :ivar event_grouping_settings: The event grouping settings.
- :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :vartype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
- """
-
- _attribute_map = {
- "query": {"key": "query", "type": "str"},
- "severity": {"key": "severity", "type": "str"},
- "version": {"key": "version", "type": "str"},
- "custom_details": {"key": "customDetails", "type": "{str}"},
- "entity_mappings": {"key": "entityMappings", "type": "[EntityMapping]"},
- "alert_details_override": {"key": "alertDetailsOverride", "type": "AlertDetailsOverride"},
- "event_grouping_settings": {"key": "eventGroupingSettings", "type": "EventGroupingSettings"},
- "sentinel_entities_mappings": {"key": "sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "publisher_display_name": {"key": "properties.publisherDisplayName", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ "installed_version": {"key": "properties.installedVersion", "type": "str"},
+ "metadata_resource_id": {"key": "properties.metadataResourceId", "type": "str"},
+ "packaged_content": {"key": "properties.packagedContent", "type": "object"},
}
- def __init__(
+ def __init__( # pylint: disable=too-many-locals
self,
*,
- query: Optional[str] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ content_schema_version: Optional[str] = None,
+ is_new: Optional[Union[str, "_models.Flag"]] = None,
+ is_preview: Optional[Union[str, "_models.Flag"]] = None,
+ is_featured: Optional[Union[str, "_models.Flag"]] = None,
+ is_deprecated: Optional[Union[str, "_models.Flag"]] = None,
version: Optional[str] = None,
- custom_details: Optional[Dict[str, str]] = None,
- entity_mappings: Optional[List["_models.EntityMapping"]] = None,
- alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
- event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
- sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- **kwargs
- ):
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ publisher_display_name: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ icon: Optional[str] = None,
+ installed_version: Optional[str] = None,
+ metadata_resource_id: Optional[str] = None,
+ packaged_content: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword query: The query that creates alerts for this rule.
- :paramtype query: str
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: The content id of the package.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :paramtype content_product_id: str
+ :keyword content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword content_schema_version: The version of the content schema.
+ :paramtype content_schema_version: str
+ :keyword is_new: Flag indicates if this is a newly published package. Known values are: "true"
+ and "false".
+ :paramtype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :paramtype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_featured: Flag indicates if this package is among the featured list. Known values
+ are: "true" and "false".
+ :paramtype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :paramtype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword version: the latest version number of the package.
:paramtype version: str
- :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :paramtype custom_details: dict[str, str]
- :keyword entity_mappings: Array of the entity mappings of the alert rule.
- :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :keyword alert_details_override: The alert details override settings.
- :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :keyword event_grouping_settings: The event grouping settings.
- :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :paramtype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
+ :keyword display_name: The display name of the package.
+ :paramtype display_name: str
+ :keyword description: The description of the package.
+ :paramtype description: str
+ :keyword publisher_display_name: The publisher display name of the package.
+ :paramtype publisher_display_name: str
+ :keyword source: The source of the package.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The author of the package.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: The support tier of the package.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: The support tier of the package.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword providers: Providers for the package item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date package item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the package item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword categories: The categories of the package.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword installed_version: The version of the installed package, null or absent means not
+ installed.
+ :paramtype installed_version: str
+ :keyword metadata_resource_id: The metadata resource id.
+ :paramtype metadata_resource_id: str
+ :keyword packaged_content: The json of the ARM template to deploy. Expandable.
+ :paramtype packaged_content: JSON
"""
- super().__init__(**kwargs)
- self.query = query
- self.severity = severity
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.content_kind = content_kind
+ self.content_schema_version = content_schema_version
+ self.is_new = is_new
+ self.is_preview = is_preview
+ self.is_featured = is_featured
+ self.is_deprecated = is_deprecated
self.version = version
- self.custom_details = custom_details
- self.entity_mappings = entity_mappings
- self.alert_details_override = alert_details_override
- self.event_grouping_settings = event_grouping_settings
- self.sentinel_entities_mappings = sentinel_entities_mappings
-
-
-class NrtAlertRuleTemplateProperties(
- AlertRuleTemplateWithMitreProperties, QueryBasedAlertRuleTemplateProperties
-): # pylint: disable=too-many-instance-attributes
- """NRT alert rule template properties.
-
- Variables are only populated by the server, and will be ignored when sending a request.
-
- :ivar query: The query that creates alerts for this rule.
- :vartype query: str
- :ivar severity: The severity for alerts created by this alert rule. Known values are: "High",
- "Medium", "Low", and "Informational".
- :vartype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :ivar version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
+ self.display_name = display_name
+ self.description = description
+ self.publisher_display_name = publisher_display_name
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.categories = categories
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.icon = icon
+ self.installed_version = installed_version
+ self.metadata_resource_id = metadata_resource_id
+ self.packaged_content = packaged_content
+
+
+class ProductPackageProperties(PackageBaseProperties, ProductPackageAdditionalProperties):
+ """Describes package properties.
+
+ :ivar installed_version: The version of the installed package, null or absent means not
+ installed.
+ :vartype installed_version: str
+ :ivar metadata_resource_id: The metadata resource id.
+ :vartype metadata_resource_id: str
+ :ivar packaged_content: The json of the ARM template to deploy. Expandable.
+ :vartype packaged_content: JSON
+ :ivar content_id: The content id of the package.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :vartype content_product_id: str
+ :ivar content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar content_schema_version: The version of the content schema.
+ :vartype content_schema_version: str
+ :ivar is_new: Flag indicates if this is a newly published package. Known values are: "true" and
+ "false".
+ :vartype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :vartype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_featured: Flag indicates if this package is among the featured list. Known values are:
+ "true" and "false".
+ :vartype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar version: the latest version number of the package.
:vartype version: str
- :ivar custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :vartype custom_details: dict[str, str]
- :ivar entity_mappings: Array of the entity mappings of the alert rule.
- :vartype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :ivar alert_details_override: The alert details override settings.
- :vartype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :ivar event_grouping_settings: The event grouping settings.
- :vartype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :ivar sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :vartype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
- :ivar alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :vartype alert_rules_created_by_template_count: int
- :ivar last_updated_date_utc: The last time that this alert rule template has been updated.
- :vartype last_updated_date_utc: ~datetime.datetime
- :ivar created_date_utc: The time that this alert rule template has been added.
- :vartype created_date_utc: ~datetime.datetime
- :ivar description: The description of the alert rule template.
- :vartype description: str
- :ivar display_name: The display name for alert rule template.
+ :ivar display_name: The display name of the package.
:vartype display_name: str
- :ivar required_data_connectors: The required data sources for this template.
- :vartype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :ivar status: The alert rule template status. Known values are: "Installed", "Available", and
- "NotAvailable".
- :vartype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :ivar tactics: The tactics of the alert rule.
- :vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :ivar techniques: The techniques of the alert rule.
- :vartype techniques: list[str]
+ :ivar description: The description of the package.
+ :vartype description: str
+ :ivar publisher_display_name: The publisher display name of the package.
+ :vartype publisher_display_name: str
+ :ivar source: The source of the package.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The author of the package.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: The support tier of the package.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: The support tier of the package.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar providers: Providers for the package item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date package item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the package item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar categories: The categories of the package.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
"""
- _validation = {
- "last_updated_date_utc": {"readonly": True},
- "created_date_utc": {"readonly": True},
- }
-
_attribute_map = {
- "query": {"key": "query", "type": "str"},
- "severity": {"key": "severity", "type": "str"},
+ "installed_version": {"key": "installedVersion", "type": "str"},
+ "metadata_resource_id": {"key": "metadataResourceId", "type": "str"},
+ "packaged_content": {"key": "packagedContent", "type": "object"},
+ "content_id": {"key": "contentId", "type": "str"},
+ "content_product_id": {"key": "contentProductId", "type": "str"},
+ "content_kind": {"key": "contentKind", "type": "str"},
+ "content_schema_version": {"key": "contentSchemaVersion", "type": "str"},
+ "is_new": {"key": "isNew", "type": "str"},
+ "is_preview": {"key": "isPreview", "type": "str"},
+ "is_featured": {"key": "isFeatured", "type": "str"},
+ "is_deprecated": {"key": "isDeprecated", "type": "str"},
"version": {"key": "version", "type": "str"},
- "custom_details": {"key": "customDetails", "type": "{str}"},
- "entity_mappings": {"key": "entityMappings", "type": "[EntityMapping]"},
- "alert_details_override": {"key": "alertDetailsOverride", "type": "AlertDetailsOverride"},
- "event_grouping_settings": {"key": "eventGroupingSettings", "type": "EventGroupingSettings"},
- "sentinel_entities_mappings": {"key": "sentinelEntitiesMappings", "type": "[SentinelEntityMapping]"},
- "alert_rules_created_by_template_count": {"key": "alertRulesCreatedByTemplateCount", "type": "int"},
- "last_updated_date_utc": {"key": "lastUpdatedDateUTC", "type": "iso-8601"},
- "created_date_utc": {"key": "createdDateUTC", "type": "iso-8601"},
- "description": {"key": "description", "type": "str"},
"display_name": {"key": "displayName", "type": "str"},
- "required_data_connectors": {"key": "requiredDataConnectors", "type": "[AlertRuleTemplateDataSource]"},
- "status": {"key": "status", "type": "str"},
- "tactics": {"key": "tactics", "type": "[str]"},
- "techniques": {"key": "techniques", "type": "[str]"},
+ "description": {"key": "description", "type": "str"},
+ "publisher_display_name": {"key": "publisherDisplayName", "type": "str"},
+ "source": {"key": "source", "type": "MetadataSource"},
+ "author": {"key": "author", "type": "MetadataAuthor"},
+ "support": {"key": "support", "type": "MetadataSupport"},
+ "dependencies": {"key": "dependencies", "type": "MetadataDependencies"},
+ "providers": {"key": "providers", "type": "[str]"},
+ "first_publish_date": {"key": "firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "lastPublishDate", "type": "date"},
+ "categories": {"key": "categories", "type": "MetadataCategories"},
+ "threat_analysis_tactics": {"key": "threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "threatAnalysisTechniques", "type": "[str]"},
+ "icon": {"key": "icon", "type": "str"},
}
- def __init__(
+ def __init__( # pylint: disable=too-many-locals
self,
*,
- query: Optional[str] = None,
- severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
+ installed_version: Optional[str] = None,
+ metadata_resource_id: Optional[str] = None,
+ packaged_content: Optional[JSON] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ content_schema_version: Optional[str] = None,
+ is_new: Optional[Union[str, "_models.Flag"]] = None,
+ is_preview: Optional[Union[str, "_models.Flag"]] = None,
+ is_featured: Optional[Union[str, "_models.Flag"]] = None,
+ is_deprecated: Optional[Union[str, "_models.Flag"]] = None,
version: Optional[str] = None,
- custom_details: Optional[Dict[str, str]] = None,
- entity_mappings: Optional[List["_models.EntityMapping"]] = None,
- alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
- event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
- sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- alert_rules_created_by_template_count: Optional[int] = None,
- description: Optional[str] = None,
display_name: Optional[str] = None,
- required_data_connectors: Optional[List["_models.AlertRuleTemplateDataSource"]] = None,
- status: Optional[Union[str, "_models.TemplateStatus"]] = None,
- tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
- techniques: Optional[List[str]] = None,
- **kwargs
- ):
- """
- :keyword query: The query that creates alerts for this rule.
- :paramtype query: str
- :keyword severity: The severity for alerts created by this alert rule. Known values are:
- "High", "Medium", "Low", and "Informational".
- :paramtype severity: str or ~azure.mgmt.securityinsight.models.AlertSeverity
- :keyword version: The version of this template - in format , where all are numbers. For
- example <1.0.2>.
+ description: Optional[str] = None,
+ publisher_display_name: Optional[str] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ icon: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword installed_version: The version of the installed package, null or absent means not
+ installed.
+ :paramtype installed_version: str
+ :keyword metadata_resource_id: The metadata resource id.
+ :paramtype metadata_resource_id: str
+ :keyword packaged_content: The json of the ARM template to deploy. Expandable.
+ :paramtype packaged_content: JSON
+ :keyword content_id: The content id of the package.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId, contentKind and the contentVersion of the package.
+ :paramtype content_product_id: str
+ :keyword content_kind: The package kind. Known values are: "Solution" and "Standalone".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword content_schema_version: The version of the content schema.
+ :paramtype content_schema_version: str
+ :keyword is_new: Flag indicates if this is a newly published package. Known values are: "true"
+ and "false".
+ :paramtype is_new: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_preview: Flag indicates if this package is in preview. Known values are: "true" and
+ "false".
+ :paramtype is_preview: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_featured: Flag indicates if this package is among the featured list. Known values
+ are: "true" and "false".
+ :paramtype is_featured: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :paramtype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :keyword version: the latest version number of the package.
:paramtype version: str
- :keyword custom_details: Dictionary of string key-value pairs of columns to be attached to the
- alert.
- :paramtype custom_details: dict[str, str]
- :keyword entity_mappings: Array of the entity mappings of the alert rule.
- :paramtype entity_mappings: list[~azure.mgmt.securityinsight.models.EntityMapping]
- :keyword alert_details_override: The alert details override settings.
- :paramtype alert_details_override: ~azure.mgmt.securityinsight.models.AlertDetailsOverride
- :keyword event_grouping_settings: The event grouping settings.
- :paramtype event_grouping_settings: ~azure.mgmt.securityinsight.models.EventGroupingSettings
- :keyword sentinel_entities_mappings: Array of the sentinel entity mappings of the alert rule.
- :paramtype sentinel_entities_mappings:
- list[~azure.mgmt.securityinsight.models.SentinelEntityMapping]
- :keyword alert_rules_created_by_template_count: the number of alert rules that were created by
- this template.
- :paramtype alert_rules_created_by_template_count: int
- :keyword description: The description of the alert rule template.
- :paramtype description: str
- :keyword display_name: The display name for alert rule template.
+ :keyword display_name: The display name of the package.
:paramtype display_name: str
- :keyword required_data_connectors: The required data sources for this template.
- :paramtype required_data_connectors:
- list[~azure.mgmt.securityinsight.models.AlertRuleTemplateDataSource]
- :keyword status: The alert rule template status. Known values are: "Installed", "Available",
- and "NotAvailable".
- :paramtype status: str or ~azure.mgmt.securityinsight.models.TemplateStatus
- :keyword tactics: The tactics of the alert rule.
- :paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
- :keyword techniques: The techniques of the alert rule.
- :paramtype techniques: list[str]
+ :keyword description: The description of the package.
+ :paramtype description: str
+ :keyword publisher_display_name: The publisher display name of the package.
+ :paramtype publisher_display_name: str
+ :keyword source: The source of the package.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The author of the package.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: The support tier of the package.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: The support tier of the package.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword providers: Providers for the package item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date package item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the package item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword categories: The categories of the package.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
"""
super().__init__(
- alert_rules_created_by_template_count=alert_rules_created_by_template_count,
- description=description,
- display_name=display_name,
- required_data_connectors=required_data_connectors,
- status=status,
- tactics=tactics,
- techniques=techniques,
- query=query,
- severity=severity,
+ content_id=content_id,
+ content_product_id=content_product_id,
+ content_kind=content_kind,
+ content_schema_version=content_schema_version,
+ is_new=is_new,
+ is_preview=is_preview,
+ is_featured=is_featured,
+ is_deprecated=is_deprecated,
version=version,
- custom_details=custom_details,
- entity_mappings=entity_mappings,
- alert_details_override=alert_details_override,
- event_grouping_settings=event_grouping_settings,
- sentinel_entities_mappings=sentinel_entities_mappings,
+ display_name=display_name,
+ description=description,
+ publisher_display_name=publisher_display_name,
+ source=source,
+ author=author,
+ support=support,
+ dependencies=dependencies,
+ providers=providers,
+ first_publish_date=first_publish_date,
+ last_publish_date=last_publish_date,
+ categories=categories,
+ threat_analysis_tactics=threat_analysis_tactics,
+ threat_analysis_techniques=threat_analysis_techniques,
+ icon=icon,
+ installed_version=installed_version,
+ metadata_resource_id=metadata_resource_id,
+ packaged_content=packaged_content,
**kwargs
)
- self.query = query
- self.severity = severity
+ self.installed_version = installed_version
+ self.metadata_resource_id = metadata_resource_id
+ self.packaged_content = packaged_content
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.content_kind = content_kind
+ self.content_schema_version = content_schema_version
+ self.is_new = is_new
+ self.is_preview = is_preview
+ self.is_featured = is_featured
+ self.is_deprecated = is_deprecated
self.version = version
- self.custom_details = custom_details
- self.entity_mappings = entity_mappings
- self.alert_details_override = alert_details_override
- self.event_grouping_settings = event_grouping_settings
- self.sentinel_entities_mappings = sentinel_entities_mappings
- self.alert_rules_created_by_template_count = alert_rules_created_by_template_count
- self.last_updated_date_utc = None
- self.created_date_utc = None
- self.description = description
self.display_name = display_name
- self.required_data_connectors = required_data_connectors
- self.status = status
- self.tactics = tactics
- self.techniques = techniques
-
+ self.description = description
+ self.publisher_display_name = publisher_display_name
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.categories = categories
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.icon = icon
-class Office365ProjectCheckRequirements(DataConnectorsCheckRequirements):
- """Represents Office365 Project requirements check request.
- All required parameters must be populated in order to send to Azure.
+class ProductTemplateAdditionalProperties(_serialization.Model):
+ """additional properties of product template.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar packaged_content: The json of the ARM template to deploy.
+ :vartype packaged_content: JSON
"""
- _validation = {
- "kind": {"required": True},
- }
-
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "packaged_content": {"key": "packagedContent", "type": "object"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, packaged_content: Optional[JSON] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
+ :keyword packaged_content: The json of the ARM template to deploy.
+ :paramtype packaged_content: JSON
"""
super().__init__(**kwargs)
- self.kind: str = "Office365Project"
- self.tenant_id = tenant_id
+ self.packaged_content = packaged_content
-class Office365ProjectCheckRequirementsProperties(DataConnectorTenantId):
- """Office365 Project requirements check properties.
+class ProductTemplateList(_serialization.Model):
+ """List of all the template.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of templates. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.ProductTemplateModel]
+ :ivar next_link: URL to fetch the next page of template.
+ :vartype next_link: str
"""
_validation = {
- "tenant_id": {"required": True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "value": {"key": "value", "type": "[ProductTemplateModel]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, value: List["_models.ProductTemplateModel"], **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword value: Array of templates. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.ProductTemplateModel]
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
-class Office365ProjectConnectorDataTypes(_serialization.Model):
- """The available data types for Office Microsoft Project data connector.
+class ProductTemplateModel(ResourceWithEtag):
+ """Template resource definition.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar logs: Logs data type. Required.
- :vartype logs: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypesLogs
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :vartype content_product_id: str
+ :ivar package_version: Version of the package. Default and recommended format is numeric (e.g.
+ 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but
+ then we cannot guarantee any version checks.
+ :vartype package_version: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar display_name: The display name of the template.
+ :vartype display_name: str
+ :ivar content_kind: The kind of content the template is for. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the template - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ :ivar package_id: the package Id contains this template.
+ :vartype package_id: str
+ :ivar package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :vartype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar package_name: the name of the package contains this template.
+ :vartype package_name: str
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar packaged_content: The json of the ARM template to deploy.
+ :vartype packaged_content: JSON
"""
_validation = {
- "logs": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "is_deprecated": {"readonly": True},
}
_attribute_map = {
- "logs": {"key": "logs", "type": "Office365ProjectConnectorDataTypesLogs"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "content_product_id": {"key": "properties.contentProductId", "type": "str"},
+ "package_version": {"key": "properties.packageVersion", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "content_kind": {"key": "properties.contentKind", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "custom_version": {"key": "properties.customVersion", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "properties.previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
+ "package_id": {"key": "properties.packageId", "type": "str"},
+ "package_kind": {"key": "properties.packageKind", "type": "str"},
+ "package_name": {"key": "properties.packageName", "type": "str"},
+ "is_deprecated": {"key": "properties.isDeprecated", "type": "str"},
+ "packaged_content": {"key": "properties.packagedContent", "type": "object"},
}
- def __init__(self, *, logs: "_models.Office365ProjectConnectorDataTypesLogs", **kwargs):
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ package_version: Optional[str] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.Kind"]] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ package_id: Optional[str] = None,
+ package_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ package_name: Optional[str] = None,
+ packaged_content: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword logs: Logs data type. Required.
- :paramtype logs: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypesLogs
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :paramtype content_product_id: str
+ :keyword package_version: Version of the package. Default and recommended format is numeric
+ (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string,
+ but then we cannot guarantee any version checks.
+ :paramtype package_version: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword display_name: The display name of the template.
+ :paramtype display_name: str
+ :keyword content_kind: The kind of content the template is for. Known values are:
+ "DataConnector", "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the template - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ :keyword package_id: the package Id contains this template.
+ :paramtype package_id: str
+ :keyword package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :paramtype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword package_name: the name of the package contains this template.
+ :paramtype package_name: str
+ :keyword packaged_content: The json of the ARM template to deploy.
+ :paramtype packaged_content: JSON
"""
- super().__init__(**kwargs)
- self.logs = logs
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.package_version = package_version
+ self.version = version
+ self.display_name = display_name
+ self.content_kind = content_kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+ self.package_id = package_id
+ self.package_kind = package_kind
+ self.package_name = package_name
+ self.is_deprecated = None
+ self.packaged_content = packaged_content
-class Office365ProjectConnectorDataTypesLogs(DataConnectorDataTypeCommon):
- """Logs data type.
+class TemplateBaseProperties(_serialization.Model):
+ """Template property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :vartype content_product_id: str
+ :ivar package_version: Version of the package. Default and recommended format is numeric (e.g.
+ 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but
+ then we cannot guarantee any version checks.
+ :vartype package_version: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar display_name: The display name of the template.
+ :vartype display_name: str
+ :ivar content_kind: The kind of content the template is for. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the template - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ :ivar package_id: the package Id contains this template.
+ :vartype package_id: str
+ :ivar package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :vartype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar package_name: the name of the package contains this template.
+ :vartype package_name: str
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
"""
_validation = {
- "state": {"required": True},
+ "is_deprecated": {"readonly": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "content_id": {"key": "contentId", "type": "str"},
+ "content_product_id": {"key": "contentProductId", "type": "str"},
+ "package_version": {"key": "packageVersion", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "content_kind": {"key": "contentKind", "type": "str"},
+ "source": {"key": "source", "type": "MetadataSource"},
+ "author": {"key": "author", "type": "MetadataAuthor"},
+ "support": {"key": "support", "type": "MetadataSupport"},
+ "dependencies": {"key": "dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "categories", "type": "MetadataCategories"},
+ "providers": {"key": "providers", "type": "[str]"},
+ "first_publish_date": {"key": "firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "lastPublishDate", "type": "date"},
+ "custom_version": {"key": "customVersion", "type": "str"},
+ "content_schema_version": {"key": "contentSchemaVersion", "type": "str"},
+ "icon": {"key": "icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "previewImagesDark", "type": "[str]"},
+ "package_id": {"key": "packageId", "type": "str"},
+ "package_kind": {"key": "packageKind", "type": "str"},
+ "package_name": {"key": "packageName", "type": "str"},
+ "is_deprecated": {"key": "isDeprecated", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ package_version: Optional[str] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.Kind"]] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ package_id: Optional[str] = None,
+ package_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ package_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :paramtype content_product_id: str
+ :keyword package_version: Version of the package. Default and recommended format is numeric
+ (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string,
+ but then we cannot guarantee any version checks.
+ :paramtype package_version: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword display_name: The display name of the template.
+ :paramtype display_name: str
+ :keyword content_kind: The kind of content the template is for. Known values are:
+ "DataConnector", "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the template - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ :keyword package_id: the package Id contains this template.
+ :paramtype package_id: str
+ :keyword package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :paramtype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword package_name: the name of the package contains this template.
+ :paramtype package_name: str
"""
- super().__init__(state=state, **kwargs)
+ super().__init__(**kwargs)
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.package_version = package_version
+ self.version = version
+ self.display_name = display_name
+ self.content_kind = content_kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+ self.package_id = package_id
+ self.package_kind = package_kind
+ self.package_name = package_name
+ self.is_deprecated = None
-class Office365ProjectDataConnector(DataConnector):
- """Represents Office Microsoft Project data connector.
+class ProductTemplateProperties(TemplateBaseProperties, ProductTemplateAdditionalProperties):
+ """Template property bag.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
+ :ivar packaged_content: The json of the ARM template to deploy.
+ :vartype packaged_content: JSON
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :vartype content_product_id: str
+ :ivar package_version: Version of the package. Default and recommended format is numeric (e.g.
+ 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but
+ then we cannot guarantee any version checks.
+ :vartype package_version: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar display_name: The display name of the template.
+ :vartype display_name: str
+ :ivar content_kind: The kind of content the template is for. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the template - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ :ivar package_id: the package Id contains this template.
+ :vartype package_id: str
+ :ivar package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :vartype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar package_name: the name of the package contains this template.
+ :vartype package_name: str
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
+ "is_deprecated": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "Office365ProjectConnectorDataTypes"},
+ "packaged_content": {"key": "packagedContent", "type": "object"},
+ "content_id": {"key": "contentId", "type": "str"},
+ "content_product_id": {"key": "contentProductId", "type": "str"},
+ "package_version": {"key": "packageVersion", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "content_kind": {"key": "contentKind", "type": "str"},
+ "source": {"key": "source", "type": "MetadataSource"},
+ "author": {"key": "author", "type": "MetadataAuthor"},
+ "support": {"key": "support", "type": "MetadataSupport"},
+ "dependencies": {"key": "dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "categories", "type": "MetadataCategories"},
+ "providers": {"key": "providers", "type": "[str]"},
+ "first_publish_date": {"key": "firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "lastPublishDate", "type": "date"},
+ "custom_version": {"key": "customVersion", "type": "str"},
+ "content_schema_version": {"key": "contentSchemaVersion", "type": "str"},
+ "icon": {"key": "icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "previewImagesDark", "type": "[str]"},
+ "package_id": {"key": "packageId", "type": "str"},
+ "package_kind": {"key": "packageKind", "type": "str"},
+ "package_name": {"key": "packageName", "type": "str"},
+ "is_deprecated": {"key": "isDeprecated", "type": "str"},
}
- def __init__(
+ def __init__( # pylint: disable=too-many-locals
self,
*,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.Office365ProjectConnectorDataTypes"] = None,
- **kwargs
- ):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
+ packaged_content: Optional[JSON] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ package_version: Optional[str] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.Kind"]] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ package_id: Optional[str] = None,
+ package_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ package_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword packaged_content: The json of the ARM template to deploy.
+ :paramtype packaged_content: JSON
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :paramtype content_product_id: str
+ :keyword package_version: Version of the package. Default and recommended format is numeric
+ (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string,
+ but then we cannot guarantee any version checks.
+ :paramtype package_version: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword display_name: The display name of the template.
+ :paramtype display_name: str
+ :keyword content_kind: The kind of content the template is for. Known values are:
+ "DataConnector", "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the template - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ :keyword package_id: the package Id contains this template.
+ :paramtype package_id: str
+ :keyword package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :paramtype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword package_name: the name of the package contains this template.
+ :paramtype package_name: str
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "Office365Project"
- self.tenant_id = tenant_id
- self.data_types = data_types
+ super().__init__(
+ content_id=content_id,
+ content_product_id=content_product_id,
+ package_version=package_version,
+ version=version,
+ display_name=display_name,
+ content_kind=content_kind,
+ source=source,
+ author=author,
+ support=support,
+ dependencies=dependencies,
+ categories=categories,
+ providers=providers,
+ first_publish_date=first_publish_date,
+ last_publish_date=last_publish_date,
+ custom_version=custom_version,
+ content_schema_version=content_schema_version,
+ icon=icon,
+ threat_analysis_tactics=threat_analysis_tactics,
+ threat_analysis_techniques=threat_analysis_techniques,
+ preview_images=preview_images,
+ preview_images_dark=preview_images_dark,
+ package_id=package_id,
+ package_kind=package_kind,
+ package_name=package_name,
+ packaged_content=packaged_content,
+ **kwargs
+ )
+ self.packaged_content = packaged_content
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.package_version = package_version
+ self.version = version
+ self.display_name = display_name
+ self.content_kind = content_kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+ self.package_id = package_id
+ self.package_kind = package_kind
+ self.package_name = package_name
+ self.is_deprecated = None
-class Office365ProjectDataConnectorProperties(DataConnectorTenantId):
- """Office Microsoft Project data connector properties.
+class PropertyArrayChangedConditionProperties(AutomationRuleCondition):
+ """Describes an automation rule condition that evaluates an array property's value change.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
+ :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
+ "PropertyChanged", "PropertyArrayChanged", and "Boolean".
+ :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
+ :ivar condition_properties:
+ :vartype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayChangedValuesCondition
"""
_validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
+ "condition_type": {"required": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "Office365ProjectConnectorDataTypes"},
+ "condition_type": {"key": "conditionType", "type": "str"},
+ "condition_properties": {
+ "key": "conditionProperties",
+ "type": "AutomationRulePropertyArrayChangedValuesCondition",
+ },
}
- def __init__(self, *, tenant_id: str, data_types: "_models.Office365ProjectConnectorDataTypes", **kwargs):
+ def __init__(
+ self,
+ *,
+ condition_properties: Optional["_models.AutomationRulePropertyArrayChangedValuesCondition"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.Office365ProjectConnectorDataTypes
+ :keyword condition_properties:
+ :paramtype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayChangedValuesCondition
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ super().__init__(**kwargs)
+ self.condition_type: str = "PropertyArrayChanged"
+ self.condition_properties = condition_properties
-class OfficeATPCheckRequirements(DataConnectorsCheckRequirements):
- """Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.
+class PropertyArrayConditionProperties(AutomationRuleCondition):
+ """Describes an automation rule condition that evaluates an array property's value.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
+ "PropertyChanged", "PropertyArrayChanged", and "Boolean".
+ :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
+ :ivar condition_properties:
+ :vartype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayValuesCondition
"""
_validation = {
- "kind": {"required": True},
+ "condition_type": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "condition_type": {"key": "conditionType", "type": "str"},
+ "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyArrayValuesCondition"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ condition_properties: Optional["_models.AutomationRulePropertyArrayValuesCondition"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
+ :keyword condition_properties:
+ :paramtype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayValuesCondition
"""
super().__init__(**kwargs)
- self.kind: str = "OfficeATP"
- self.tenant_id = tenant_id
+ self.condition_type: str = "PropertyArray"
+ self.condition_properties = condition_properties
-class OfficeATPCheckRequirementsProperties(DataConnectorTenantId):
- """OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.
+class PropertyChangedConditionProperties(AutomationRuleCondition):
+ """Describes an automation rule condition that evaluates a property's value change.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
+ "PropertyChanged", "PropertyArrayChanged", and "Boolean".
+ :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
+ :ivar condition_properties:
+ :vartype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesChangedCondition
"""
_validation = {
- "tenant_id": {"required": True},
+ "condition_type": {"required": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "condition_type": {"key": "conditionType", "type": "str"},
+ "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyValuesChangedCondition"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(
+ self,
+ *,
+ condition_properties: Optional["_models.AutomationRulePropertyValuesChangedCondition"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword condition_properties:
+ :paramtype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesChangedCondition
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
-
+ super().__init__(**kwargs)
+ self.condition_type: str = "PropertyChanged"
+ self.condition_properties = condition_properties
-class OfficeATPDataConnector(DataConnector):
- """Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.
- Variables are only populated by the server, and will be ignored when sending a request.
+class PropertyConditionProperties(AutomationRuleCondition):
+ """Describes an automation rule condition that evaluates a property's value.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
+ "PropertyChanged", "PropertyArrayChanged", and "Boolean".
+ :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
+ :ivar condition_properties:
+ :vartype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesCondition
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
+ "condition_type": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
+ "condition_type": {"key": "conditionType", "type": "str"},
+ "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyValuesCondition"},
}
def __init__(
- self,
- *,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- **kwargs
- ):
+ self, *, condition_properties: Optional["_models.AutomationRulePropertyValuesCondition"] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :keyword condition_properties:
+ :paramtype condition_properties:
+ ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesCondition
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "OfficeATP"
- self.tenant_id = tenant_id
- self.data_types = data_types
+ super().__init__(**kwargs)
+ self.condition_type: str = "Property"
+ self.condition_properties = condition_properties
-class OfficeATPDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
- """OfficeATP (Office 365 Advanced Threat Protection) data connector properties.
+class PullRequest(_serialization.Model):
+ """Information regarding pull request for protected branches.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ :ivar url: URL of pull request.
+ :vartype url: str
+ :ivar state: State of the pull request. Known values are: "Active", "InProgress", "Dismissed",
+ "CompletedByUser", and "CompletedBySystem".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.State
"""
_validation = {
- "tenant_id": {"required": True},
+ "url": {"readonly": True},
+ "state": {"readonly": True},
}
_attribute_map = {
- "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "state": {"key": "state", "type": "str"},
}
- def __init__(
- self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs
- ):
- """
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
- self.data_types = data_types
- self.tenant_id = tenant_id
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.url = None
+ self.state = None
-class OfficeConsent(Resource):
- """Consent for Office365 tenant that already made.
+class PurviewAuditCheckRequirements(DataConnectorsCheckRequirements):
+ """Represents PurviewAudit requirements check request.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar tenant_id: The tenantId of the Office365 with the consent.
+ :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
+ "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
- :ivar consent_id: Help to easily cascade among the data layers.
- :vartype consent_id: str
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
"tenant_id": {"key": "properties.tenantId", "type": "str"},
- "consent_id": {"key": "properties.consentId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, consent_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenantId of the Office365 with the consent.
+ :keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
- :keyword consent_id: Help to easily cascade among the data layers.
- :paramtype consent_id: str
"""
super().__init__(**kwargs)
+ self.kind: str = "PurviewAudit"
self.tenant_id = tenant_id
- self.consent_id = consent_id
-class OfficeConsentList(_serialization.Model):
- """List of all the office365 consents.
+class PurviewAuditCheckRequirementsProperties(DataConnectorTenantId):
+ """PurviewAudit requirements check properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ """
+
- Variables are only populated by the server, and will be ignored when sending a request.
+class PurviewAuditConnectorDataTypes(_serialization.Model):
+ """The available data types for PurviewAudit data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of office consents.
- :vartype next_link: str
- :ivar value: Array of the consents. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.OfficeConsent]
+ :ivar logs: Logs data type. Required.
+ :vartype logs: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypesLogs
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
+ "logs": {"required": True},
}
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[OfficeConsent]"},
+ "logs": {"key": "logs", "type": "PurviewAuditConnectorDataTypesLogs"},
}
- def __init__(self, *, value: List["_models.OfficeConsent"], **kwargs):
+ def __init__(self, *, logs: "_models.PurviewAuditConnectorDataTypesLogs", **kwargs: Any) -> None:
"""
- :keyword value: Array of the consents. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.OfficeConsent]
+ :keyword logs: Logs data type. Required.
+ :paramtype logs: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypesLogs
"""
super().__init__(**kwargs)
- self.next_link = None
- self.value = value
+ self.logs = logs
-class OfficeDataConnector(DataConnector):
- """Represents office data connector.
+class PurviewAuditConnectorDataTypesLogs(DataConnectorDataTypeCommon):
+ """Logs data type.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar state: Describe whether this data type connection is enabled or not. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ """
+
+
+class PurviewAuditDataConnector(DataConnector):
+ """Represents PurviewAudit data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -16764,15 +23338,23 @@ class OfficeDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
+ :ivar connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :vartype connector_definition_name: str
+ :ivar source_type: The source type indicates which kind of data is relevant for this connector.
+ :vartype source_type: str
+ :ivar dcr_config: The DCR related properties.
+ :vartype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
:ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ :vartype data_types: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypes
"""
_validation = {
@@ -16791,7 +23373,10 @@ class OfficeDataConnector(DataConnector):
"etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
"tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "OfficeDataConnectorDataTypes"},
+ "connector_definition_name": {"key": "properties.connectorDefinitionName", "type": "str"},
+ "source_type": {"key": "properties.sourceType", "type": "str"},
+ "dcr_config": {"key": "properties.dcrConfig", "type": "DCRConfiguration"},
+ "data_types": {"key": "properties.dataTypes", "type": "PurviewAuditConnectorDataTypes"},
}
def __init__(
@@ -16799,254 +23384,519 @@ def __init__(
*,
etag: Optional[str] = None,
tenant_id: Optional[str] = None,
- data_types: Optional["_models.OfficeDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ connector_definition_name: Optional[str] = None,
+ source_type: Optional[str] = None,
+ dcr_config: Optional["_models.DCRConfiguration"] = None,
+ data_types: Optional["_models.PurviewAuditConnectorDataTypes"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
+ :keyword connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :paramtype connector_definition_name: str
+ :keyword source_type: The source type indicates which kind of data is relevant for this
+ connector.
+ :paramtype source_type: str
+ :keyword dcr_config: The DCR related properties.
+ :paramtype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
:keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypes
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "Office365"
+ self.kind: str = "PurviewAudit"
self.tenant_id = tenant_id
+ self.connector_definition_name = connector_definition_name
+ self.source_type = source_type
+ self.dcr_config = dcr_config
self.data_types = data_types
-class OfficeDataConnectorDataTypes(_serialization.Model):
- """The available data types for office data connector.
+class PurviewAuditDataConnectorProperties(DataConnectorTenantId):
+ """PurviewAudit data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar exchange: Exchange data type connection. Required.
- :vartype exchange: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesExchange
- :ivar share_point: SharePoint data type connection. Required.
- :vartype share_point: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesSharePoint
- :ivar teams: Teams data type connection. Required.
- :vartype teams: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesTeams
+ :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
+ :vartype tenant_id: str
+ :ivar connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :vartype connector_definition_name: str
+ :ivar source_type: The source type indicates which kind of data is relevant for this connector.
+ :vartype source_type: str
+ :ivar dcr_config: The DCR related properties.
+ :vartype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
+ :ivar data_types: The available data types for the connector. Required.
+ :vartype data_types: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypes
"""
_validation = {
- "exchange": {"required": True},
- "share_point": {"required": True},
- "teams": {"required": True},
+ "tenant_id": {"required": True},
+ "data_types": {"required": True},
}
_attribute_map = {
- "exchange": {"key": "exchange", "type": "OfficeDataConnectorDataTypesExchange"},
- "share_point": {"key": "sharePoint", "type": "OfficeDataConnectorDataTypesSharePoint"},
- "teams": {"key": "teams", "type": "OfficeDataConnectorDataTypesTeams"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "connector_definition_name": {"key": "connectorDefinitionName", "type": "str"},
+ "source_type": {"key": "sourceType", "type": "str"},
+ "dcr_config": {"key": "dcrConfig", "type": "DCRConfiguration"},
+ "data_types": {"key": "dataTypes", "type": "PurviewAuditConnectorDataTypes"},
}
def __init__(
self,
*,
- exchange: "_models.OfficeDataConnectorDataTypesExchange",
- share_point: "_models.OfficeDataConnectorDataTypesSharePoint",
- teams: "_models.OfficeDataConnectorDataTypesTeams",
- **kwargs
- ):
+ tenant_id: str,
+ data_types: "_models.PurviewAuditConnectorDataTypes",
+ connector_definition_name: Optional[str] = None,
+ source_type: Optional[str] = None,
+ dcr_config: Optional["_models.DCRConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword exchange: Exchange data type connection. Required.
- :paramtype exchange: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesExchange
- :keyword share_point: SharePoint data type connection. Required.
- :paramtype share_point:
- ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesSharePoint
- :keyword teams: Teams data type connection. Required.
- :paramtype teams: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypesTeams
+ :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
+ :paramtype tenant_id: str
+ :keyword connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :paramtype connector_definition_name: str
+ :keyword source_type: The source type indicates which kind of data is relevant for this
+ connector.
+ :paramtype source_type: str
+ :keyword dcr_config: The DCR related properties.
+ :paramtype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
+ :keyword data_types: The available data types for the connector. Required.
+ :paramtype data_types: ~azure.mgmt.securityinsight.models.PurviewAuditConnectorDataTypes
"""
- super().__init__(**kwargs)
- self.exchange = exchange
- self.share_point = share_point
- self.teams = teams
+ super().__init__(tenant_id=tenant_id, **kwargs)
+ self.connector_definition_name = connector_definition_name
+ self.source_type = source_type
+ self.dcr_config = dcr_config
+ self.data_types = data_types
-class OfficeDataConnectorDataTypesExchange(DataConnectorDataTypeCommon):
- """Exchange data type connection.
+class Query(_serialization.Model):
+ """Represents a query to run on the TI objects in the workspace.
- All required parameters must be populated in order to send to Azure.
+ :ivar condition: Represents a condition used to query for TI objects.
+ :vartype condition: ~azure.mgmt.securityinsight.models.QueryCondition
+ :ivar sort_by: Specifies how to sort the query results.
+ :vartype sort_by: ~azure.mgmt.securityinsight.models.QuerySortBy
+ :ivar max_page_size: Represents the maximum size of the page that will be returned from the
+ query API.
+ :vartype max_page_size: int
+ :ivar min_page_size: Represents the minimum size of the page that will be returned from the
+ query API.
+ :vartype min_page_size: int
+ """
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ _attribute_map = {
+ "condition": {"key": "condition", "type": "QueryCondition"},
+ "sort_by": {"key": "sortBy", "type": "QuerySortBy"},
+ "max_page_size": {"key": "maxPageSize", "type": "int"},
+ "min_page_size": {"key": "minPageSize", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ condition: Optional["_models.QueryCondition"] = None,
+ sort_by: Optional["_models.QuerySortBy"] = None,
+ max_page_size: Optional[int] = None,
+ min_page_size: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword condition: Represents a condition used to query for TI objects.
+ :paramtype condition: ~azure.mgmt.securityinsight.models.QueryCondition
+ :keyword sort_by: Specifies how to sort the query results.
+ :paramtype sort_by: ~azure.mgmt.securityinsight.models.QuerySortBy
+ :keyword max_page_size: Represents the maximum size of the page that will be returned from the
+ query API.
+ :paramtype max_page_size: int
+ :keyword min_page_size: Represents the minimum size of the page that will be returned from the
+ query API.
+ :paramtype min_page_size: int
+ """
+ super().__init__(**kwargs)
+ self.condition = condition
+ self.sort_by = sort_by
+ self.max_page_size = max_page_size
+ self.min_page_size = min_page_size
+
+
+class QueryCondition(_serialization.Model):
+ """Represents a condition used to query for TI objects.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar stix_object_type: The STIX type for the objects returned by this query.
+ :vartype stix_object_type: str
+ :ivar clauses: The list of clauses to be evaluated in disjunction or conjunction base on the
+ specified top level connective operator. Required.
+ :vartype clauses: list[~azure.mgmt.securityinsight.models.ConditionClause]
+ :ivar condition_connective: The top level connective operator for this condition. Known values
+ are: "And", "Or", "And", and "Or".
+ :vartype condition_connective: str or ~azure.mgmt.securityinsight.models.Connective
"""
_validation = {
- "state": {"required": True},
+ "clauses": {"required": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "stix_object_type": {"key": "stixObjectType", "type": "str"},
+ "clauses": {"key": "clauses", "type": "[ConditionClause]"},
+ "condition_connective": {"key": "conditionConnective", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__(
+ self,
+ *,
+ clauses: List["_models.ConditionClause"],
+ stix_object_type: Optional[str] = None,
+ condition_connective: Optional[Union[str, "_models.Connective"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword stix_object_type: The STIX type for the objects returned by this query.
+ :paramtype stix_object_type: str
+ :keyword clauses: The list of clauses to be evaluated in disjunction or conjunction base on the
+ specified top level connective operator. Required.
+ :paramtype clauses: list[~azure.mgmt.securityinsight.models.ConditionClause]
+ :keyword condition_connective: The top level connective operator for this condition. Known
+ values are: "And", "Or", "And", and "Or".
+ :paramtype condition_connective: str or ~azure.mgmt.securityinsight.models.Connective
"""
- super().__init__(state=state, **kwargs)
-
+ super().__init__(**kwargs)
+ self.stix_object_type = stix_object_type
+ self.clauses = clauses
+ self.condition_connective = condition_connective
-class OfficeDataConnectorDataTypesSharePoint(DataConnectorDataTypeCommon):
- """SharePoint data type connection.
- All required parameters must be populated in order to send to Azure.
+class QuerySortBy(_serialization.Model):
+ """Specifies how to sort the query results.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar direction: The direction to sort the results by. Known values are: "ASC" and "DESC".
+ :vartype direction: str or ~azure.mgmt.securityinsight.models.SortingDirection
+ :ivar field: Represents the field to sort the results by.
+ :vartype field: str
"""
- _validation = {
- "state": {"required": True},
- }
-
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "direction": {"key": "direction", "type": "str"},
+ "field": {"key": "field", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__(
+ self,
+ *,
+ direction: Optional[Union[str, "_models.SortingDirection"]] = None,
+ field: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword direction: The direction to sort the results by. Known values are: "ASC" and "DESC".
+ :paramtype direction: str or ~azure.mgmt.securityinsight.models.SortingDirection
+ :keyword field: Represents the field to sort the results by.
+ :paramtype field: str
"""
- super().__init__(state=state, **kwargs)
+ super().__init__(**kwargs)
+ self.direction = direction
+ self.field = field
-class OfficeDataConnectorDataTypesTeams(DataConnectorDataTypeCommon):
- """Teams data type connection.
+class Recommendation(ResourceWithEtag):
+ """Recommendation object.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar recommendation_type_id: Id of the recommendation type.
+ :vartype recommendation_type_id: str
+ :ivar state: State of the recommendation. Known values are: "Active", "InProgress",
+ "Dismissed", "CompletedByUser", and "CompletedBySystem".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.State
+ :ivar title: Title of the recommendation.
+ :vartype title: str
+ :ivar description: Description of the recommendation.
+ :vartype description: str
+ :ivar creation_time_utc: The time stamp (UTC) when the recommendation was created.
+ :vartype creation_time_utc: ~datetime.datetime
+ :ivar last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last evaluated.
+ :vartype last_evaluated_time_utc: ~datetime.datetime
+ :ivar last_modified_time_utc: The time stamp (UTC) when the recommendation was last modified.
+ :vartype last_modified_time_utc: ~datetime.datetime
+ :ivar suggestions: List of suggestions to take for this recommendation.
+ :vartype suggestions: list[~azure.mgmt.securityinsight.models.RecommendedSuggestion]
+ :ivar resource_id: Id of the resource this recommendation refers to.
+ :vartype resource_id: str
+ :ivar additional_properties: Collection of additional properties for the recommendation.
+ :vartype additional_properties: dict[str, str]
"""
_validation = {
- "state": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "recommendation_type_id": {"key": "properties.recommendationTypeId", "type": "str"},
+ "state": {"key": "properties.state", "type": "str"},
+ "title": {"key": "properties.title", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "creation_time_utc": {"key": "properties.creationTimeUtc", "type": "iso-8601"},
+ "last_evaluated_time_utc": {"key": "properties.lastEvaluatedTimeUtc", "type": "iso-8601"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
+ "suggestions": {"key": "properties.suggestions", "type": "[RecommendedSuggestion]"},
+ "resource_id": {"key": "properties.resourceId", "type": "str"},
+ "additional_properties": {"key": "properties.additionalProperties", "type": "{str}"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ recommendation_type_id: Optional[str] = None,
+ state: Optional[Union[str, "_models.State"]] = None,
+ title: Optional[str] = None,
+ description: Optional[str] = None,
+ creation_time_utc: Optional[datetime.datetime] = None,
+ last_evaluated_time_utc: Optional[datetime.datetime] = None,
+ last_modified_time_utc: Optional[datetime.datetime] = None,
+ suggestions: Optional[List["_models.RecommendedSuggestion"]] = None,
+ resource_id: Optional[str] = None,
+ additional_properties: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword recommendation_type_id: Id of the recommendation type.
+ :paramtype recommendation_type_id: str
+ :keyword state: State of the recommendation. Known values are: "Active", "InProgress",
+ "Dismissed", "CompletedByUser", and "CompletedBySystem".
+ :paramtype state: str or ~azure.mgmt.securityinsight.models.State
+ :keyword title: Title of the recommendation.
+ :paramtype title: str
+ :keyword description: Description of the recommendation.
+ :paramtype description: str
+ :keyword creation_time_utc: The time stamp (UTC) when the recommendation was created.
+ :paramtype creation_time_utc: ~datetime.datetime
+ :keyword last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last
+ evaluated.
+ :paramtype last_evaluated_time_utc: ~datetime.datetime
+ :keyword last_modified_time_utc: The time stamp (UTC) when the recommendation was last
+ modified.
+ :paramtype last_modified_time_utc: ~datetime.datetime
+ :keyword suggestions: List of suggestions to take for this recommendation.
+ :paramtype suggestions: list[~azure.mgmt.securityinsight.models.RecommendedSuggestion]
+ :keyword resource_id: Id of the resource this recommendation refers to.
+ :paramtype resource_id: str
+ :keyword additional_properties: Collection of additional properties for the recommendation.
+ :paramtype additional_properties: dict[str, str]
"""
- super().__init__(state=state, **kwargs)
+ super().__init__(etag=etag, **kwargs)
+ self.recommendation_type_id = recommendation_type_id
+ self.state = state
+ self.title = title
+ self.description = description
+ self.creation_time_utc = creation_time_utc
+ self.last_evaluated_time_utc = last_evaluated_time_utc
+ self.last_modified_time_utc = last_modified_time_utc
+ self.suggestions = suggestions
+ self.resource_id = resource_id
+ self.additional_properties = additional_properties
-class OfficeDataConnectorProperties(DataConnectorTenantId):
- """Office data connector properties.
+class RecommendationList(_serialization.Model):
+ """A list of recommendations.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: An list of recommendations. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Recommendation]
+ :ivar next_link: Link to next page of resources.
+ :vartype next_link: str
"""
_validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "OfficeDataConnectorDataTypes"},
+ "value": {"key": "value", "type": "[Recommendation]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.OfficeDataConnectorDataTypes", **kwargs):
+ def __init__(self, *, value: List["_models.Recommendation"], **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficeDataConnectorDataTypes
+ :keyword value: An list of recommendations. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Recommendation]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class RecommendationPatch(_serialization.Model):
+ """Recommendation Fields to update.
+
+ :ivar properties: Recommendation Fields Properties to update.
+ :vartype properties: ~azure.mgmt.securityinsight.models.RecommendationPatchProperties
+ """
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "RecommendationPatchProperties"},
+ }
+
+ def __init__(self, *, properties: Optional["_models.RecommendationPatchProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword properties: Recommendation Fields Properties to update.
+ :paramtype properties: ~azure.mgmt.securityinsight.models.RecommendationPatchProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class RecommendationPatchProperties(_serialization.Model):
+ """Recommendation Fields Properties to update.
+
+ :ivar state: State of the recommendation. Known values are: "Active", "InProgress",
+ "Dismissed", "CompletedByUser", and "CompletedBySystem".
+ :vartype state: str or ~azure.mgmt.securityinsight.models.State
+ """
+
+ _attribute_map = {
+ "state": {"key": "state", "type": "str"},
+ }
+
+ def __init__(self, *, state: Optional[Union[str, "_models.State"]] = None, **kwargs: Any) -> None:
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ :keyword state: State of the recommendation. Known values are: "Active", "InProgress",
+ "Dismissed", "CompletedByUser", and "CompletedBySystem".
+ :paramtype state: str or ~azure.mgmt.securityinsight.models.State
+ """
+ super().__init__(**kwargs)
+ self.state = state
-class OfficeIRMCheckRequirements(DataConnectorsCheckRequirements):
- """Represents OfficeIRM (Microsoft Insider Risk Management) requirements check request.
+class RecommendedSuggestion(_serialization.Model):
+ """What suggestions should be taken to complete the recommendation.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar suggestion_type_id: Id of the suggestion type. Required.
+ :vartype suggestion_type_id: str
+ :ivar title: Title of the suggestion. Required.
+ :vartype title: str
+ :ivar description: Description of the suggestion. Required.
+ :vartype description: str
+ :ivar action: Action of the suggestion. Required.
+ :vartype action: str
+ :ivar additional_properties: Collection of additional properties for the suggestion.
+ :vartype additional_properties: dict[str, str]
"""
_validation = {
- "kind": {"required": True},
+ "suggestion_type_id": {"required": True},
+ "title": {"required": True},
+ "description": {"required": True},
+ "action": {"required": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "suggestion_type_id": {"key": "suggestionTypeId", "type": "str"},
+ "title": {"key": "title", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "action": {"key": "action", "type": "str"},
+ "additional_properties": {"key": "additionalProperties", "type": "{str}"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ suggestion_type_id: str,
+ title: str,
+ description: str,
+ action: str,
+ additional_properties: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
+ :keyword suggestion_type_id: Id of the suggestion type. Required.
+ :paramtype suggestion_type_id: str
+ :keyword title: Title of the suggestion. Required.
+ :paramtype title: str
+ :keyword description: Description of the suggestion. Required.
+ :paramtype description: str
+ :keyword action: Action of the suggestion. Required.
+ :paramtype action: str
+ :keyword additional_properties: Collection of additional properties for the suggestion.
+ :paramtype additional_properties: dict[str, str]
"""
super().__init__(**kwargs)
- self.kind: str = "OfficeIRM"
- self.tenant_id = tenant_id
-
+ self.suggestion_type_id = suggestion_type_id
+ self.title = title
+ self.description = description
+ self.action = action
+ self.additional_properties = additional_properties
-class OfficeIRMCheckRequirementsProperties(DataConnectorTenantId):
- """OfficeIRM (Microsoft Insider Risk Management) requirements check properties.
- All required parameters must be populated in order to send to Azure.
+class ReevaluateResponse(_serialization.Model):
+ """Reevaluate response object.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
+ :ivar last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last evaluated.
+ :vartype last_evaluated_time_utc: ~datetime.datetime
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "last_evaluated_time_utc": {"key": "lastEvaluatedTimeUtc", "type": "iso-8601"},
}
- def __init__(self, *, tenant_id: str, **kwargs):
+ def __init__(self, *, last_evaluated_time_utc: Optional[datetime.datetime] = None, **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
+ :keyword last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last
+ evaluated.
+ :paramtype last_evaluated_time_utc: ~datetime.datetime
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
+ super().__init__(**kwargs)
+ self.last_evaluated_time_utc = last_evaluated_time_utc
-class OfficeIRMDataConnector(DataConnector):
- """Represents OfficeIRM (Microsoft Insider Risk Management) data connector.
+class RegistryKeyEntity(Entity):
+ """Represents a registry key entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -17056,20 +23906,24 @@ class OfficeIRMDataConnector(DataConnector):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar hive: the hive that holds the registry key. Known values are: "HKEY_LOCAL_MACHINE",
+ "HKEY_CLASSES_ROOT", "HKEY_CURRENT_CONFIG", "HKEY_USERS", "HKEY_CURRENT_USER_LOCAL_SETTINGS",
+ "HKEY_PERFORMANCE_DATA", "HKEY_PERFORMANCE_NLSTEXT", "HKEY_PERFORMANCE_TEXT", "HKEY_A", and
+ "HKEY_CURRENT_USER".
+ :vartype hive: str or ~azure.mgmt.securityinsight.models.RegistryHive
+ :ivar key: The registry key path.
+ :vartype key: str
"""
_validation = {
@@ -17078,6 +23932,10 @@ class OfficeIRMDataConnector(DataConnector):
"type": {"readonly": True},
"system_data": {"readonly": True},
"kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "hive": {"readonly": True},
+ "key": {"readonly": True},
}
_attribute_map = {
@@ -17085,191 +23943,202 @@ class OfficeIRMDataConnector(DataConnector):
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
"kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- }
-
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None,
- **kwargs
- ):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- """
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "OfficeIRM"
- self.tenant_id = tenant_id
- self.data_types = data_types
-
-
-class OfficeIRMDataConnectorProperties(DataConnectorTenantId, DataConnectorWithAlertsProperties):
- """OfficeIRM (Microsoft Insider Risk Management) data connector properties.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- """
-
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "data_types": {"key": "dataTypes", "type": "AlertsDataTypeOfDataConnector"},
- "tenant_id": {"key": "tenantId", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "hive": {"key": "properties.hive", "type": "str"},
+ "key": {"key": "properties.key", "type": "str"},
}
- def __init__(
- self, *, tenant_id: str, data_types: Optional["_models.AlertsDataTypeOfDataConnector"] = None, **kwargs
- ):
- """
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.AlertsDataTypeOfDataConnector
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, data_types=data_types, **kwargs)
- self.data_types = data_types
- self.tenant_id = tenant_id
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "RegistryKey"
+ self.additional_data = None
+ self.friendly_name = None
+ self.hive = None
+ self.key = None
-class OfficePowerBICheckRequirements(DataConnectorsCheckRequirements):
- """Represents Office PowerBI requirements check request.
+class RegistryKeyEntityProperties(EntityCommonProperties):
+ """RegistryKey entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar kind: Describes the kind of connector to be checked. Required. Known values are:
- "AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
- "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar hive: the hive that holds the registry key. Known values are: "HKEY_LOCAL_MACHINE",
+ "HKEY_CLASSES_ROOT", "HKEY_CURRENT_CONFIG", "HKEY_USERS", "HKEY_CURRENT_USER_LOCAL_SETTINGS",
+ "HKEY_PERFORMANCE_DATA", "HKEY_PERFORMANCE_NLSTEXT", "HKEY_PERFORMANCE_TEXT", "HKEY_A", and
+ "HKEY_CURRENT_USER".
+ :vartype hive: str or ~azure.mgmt.securityinsight.models.RegistryHive
+ :ivar key: The registry key path.
+ :vartype key: str
"""
_validation = {
- "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "hive": {"readonly": True},
+ "key": {"readonly": True},
}
_attribute_map = {
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "hive": {"key": "hive", "type": "str"},
+ "key": {"key": "key", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.kind: str = "OfficePowerBI"
- self.tenant_id = tenant_id
-
-
-class OfficePowerBICheckRequirementsProperties(DataConnectorTenantId):
- """Office PowerBI requirements check properties.
-
- All required parameters must be populated in order to send to Azure.
-
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- """
-
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
+ self.hive = None
+ self.key = None
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
+class RegistryValueEntity(Entity):
+ """Represents a registry value entity.
-class OfficePowerBIConnectorDataTypes(_serialization.Model):
- """The available data types for Office Microsoft PowerBI data connector.
+ Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar logs: Logs data type. Required.
- :vartype logs: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypesLogs
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar key_entity_id: The registry key entity id.
+ :vartype key_entity_id: str
+ :ivar value_data: String formatted representation of the value data.
+ :vartype value_data: str
+ :ivar value_name: The registry value name.
+ :vartype value_name: str
+ :ivar value_type: Specifies the data types to use when storing values in the registry, or
+ identifies the data type of a value in the registry. Known values are: "None", "Unknown",
+ "String", "ExpandString", "Binary", "DWord", "MultiString", and "QWord".
+ :vartype value_type: str or ~azure.mgmt.securityinsight.models.RegistryValueKind
"""
_validation = {
- "logs": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "key_entity_id": {"readonly": True},
+ "value_data": {"readonly": True},
+ "value_name": {"readonly": True},
+ "value_type": {"readonly": True},
}
_attribute_map = {
- "logs": {"key": "logs", "type": "OfficePowerBIConnectorDataTypesLogs"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "key_entity_id": {"key": "properties.keyEntityId", "type": "str"},
+ "value_data": {"key": "properties.valueData", "type": "str"},
+ "value_name": {"key": "properties.valueName", "type": "str"},
+ "value_type": {"key": "properties.valueType", "type": "str"},
}
- def __init__(self, *, logs: "_models.OfficePowerBIConnectorDataTypesLogs", **kwargs):
- """
- :keyword logs: Logs data type. Required.
- :paramtype logs: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypesLogs
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.logs = logs
+ self.kind: str = "RegistryValue"
+ self.additional_data = None
+ self.friendly_name = None
+ self.key_entity_id = None
+ self.value_data = None
+ self.value_name = None
+ self.value_type = None
-class OfficePowerBIConnectorDataTypesLogs(DataConnectorDataTypeCommon):
- """Logs data type.
+class RegistryValueEntityProperties(EntityCommonProperties):
+ """RegistryValue entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar key_entity_id: The registry key entity id.
+ :vartype key_entity_id: str
+ :ivar value_data: String formatted representation of the value data.
+ :vartype value_data: str
+ :ivar value_name: The registry value name.
+ :vartype value_name: str
+ :ivar value_type: Specifies the data types to use when storing values in the registry, or
+ identifies the data type of a value in the registry. Known values are: "None", "Unknown",
+ "String", "ExpandString", "Binary", "DWord", "MultiString", and "QWord".
+ :vartype value_type: str or ~azure.mgmt.securityinsight.models.RegistryValueKind
"""
_validation = {
- "state": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "key_entity_id": {"readonly": True},
+ "value_data": {"readonly": True},
+ "value_name": {"readonly": True},
+ "value_type": {"readonly": True},
}
_attribute_map = {
- "state": {"key": "state", "type": "str"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "key_entity_id": {"key": "keyEntityId", "type": "str"},
+ "value_data": {"key": "valueData", "type": "str"},
+ "value_name": {"key": "valueName", "type": "str"},
+ "value_type": {"key": "valueType", "type": "str"},
}
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.key_entity_id = None
+ self.value_data = None
+ self.value_name = None
+ self.value_type = None
-class OfficePowerBIDataConnector(DataConnector):
- """Represents Office Microsoft PowerBI data connector.
+class Relation(ResourceWithEtag):
+ """Represents a relation between two resources.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -17281,18 +24150,14 @@ class OfficePowerBIDataConnector(DataConnector):
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
- "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
- "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
- :ivar tenant_id: The tenant id to connect to, and get the data from.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector.
- :vartype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
+ :ivar related_resource_id: The resource ID of the related resource.
+ :vartype related_resource_id: str
+ :ivar related_resource_name: The name of the related resource.
+ :vartype related_resource_name: str
+ :ivar related_resource_type: The resource type of the related resource.
+ :vartype related_resource_type: str
+ :ivar related_resource_kind: The resource kind of the related resource.
+ :vartype related_resource_kind: str
"""
_validation = {
@@ -17300,7 +24165,9 @@ class OfficePowerBIDataConnector(DataConnector):
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "kind": {"required": True},
+ "related_resource_name": {"readonly": True},
+ "related_resource_type": {"readonly": True},
+ "related_resource_kind": {"readonly": True},
}
_attribute_map = {
@@ -17309,168 +24176,232 @@ class OfficePowerBIDataConnector(DataConnector):
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "kind": {"key": "kind", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "data_types": {"key": "properties.dataTypes", "type": "OfficePowerBIConnectorDataTypes"},
+ "related_resource_id": {"key": "properties.relatedResourceId", "type": "str"},
+ "related_resource_name": {"key": "properties.relatedResourceName", "type": "str"},
+ "related_resource_type": {"key": "properties.relatedResourceType", "type": "str"},
+ "related_resource_kind": {"key": "properties.relatedResourceKind", "type": "str"},
}
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- tenant_id: Optional[str] = None,
- data_types: Optional["_models.OfficePowerBIConnectorDataTypes"] = None,
- **kwargs
- ):
+ def __init__(self, *, etag: Optional[str] = None, related_resource_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword tenant_id: The tenant id to connect to, and get the data from.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
+ :keyword related_resource_id: The resource ID of the related resource.
+ :paramtype related_resource_id: str
"""
super().__init__(etag=etag, **kwargs)
- self.kind: str = "OfficePowerBI"
- self.tenant_id = tenant_id
- self.data_types = data_types
+ self.related_resource_id = related_resource_id
+ self.related_resource_name = None
+ self.related_resource_type = None
+ self.related_resource_kind = None
-class OfficePowerBIDataConnectorProperties(DataConnectorTenantId):
- """Office Microsoft PowerBI data connector properties.
+class RelationList(_serialization.Model):
+ """List of relations.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar tenant_id: The tenant id to connect to, and get the data from. Required.
- :vartype tenant_id: str
- :ivar data_types: The available data types for the connector. Required.
- :vartype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of relations.
+ :vartype next_link: str
+ :ivar value: Array of relations. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Relation]
"""
_validation = {
- "tenant_id": {"required": True},
- "data_types": {"required": True},
+ "next_link": {"readonly": True},
+ "value": {"required": True},
}
_attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- "data_types": {"key": "dataTypes", "type": "OfficePowerBIConnectorDataTypes"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Relation]"},
}
- def __init__(self, *, tenant_id: str, data_types: "_models.OfficePowerBIConnectorDataTypes", **kwargs):
+ def __init__(self, *, value: List["_models.Relation"], **kwargs: Any) -> None:
"""
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- :keyword data_types: The available data types for the connector. Required.
- :paramtype data_types: ~azure.mgmt.securityinsight.models.OfficePowerBIConnectorDataTypes
+ :keyword value: Array of relations. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Relation]
"""
- super().__init__(tenant_id=tenant_id, **kwargs)
- self.data_types = data_types
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
-class Operation(_serialization.Model):
- """Operation provided by provider.
+class Relationship(TIObject):
+ """Represents a relationship in Azure Security Insights.
- :ivar display: Properties of the operation.
- :vartype display: ~azure.mgmt.securityinsight.models.OperationDisplay
- :ivar name: Name of the operation.
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
:vartype name: str
- :ivar origin: The origin of the operation.
- :vartype origin: str
- :ivar is_data_action: Indicates whether the operation is a data action.
- :vartype is_data_action: bool
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
+ :vartype source: str
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "data": {"readonly": True},
+ "created_by": {"readonly": True},
+ "source": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
+ }
+
_attribute_map = {
- "display": {"key": "display", "type": "OperationDisplay"},
+ "id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
- "origin": {"key": "origin", "type": "str"},
- "is_data_action": {"key": "isDataAction", "type": "bool"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "source": {"key": "properties.source", "type": "str"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
}
- def __init__(
- self,
- *,
- display: Optional["_models.OperationDisplay"] = None,
- name: Optional[str] = None,
- origin: Optional[str] = None,
- is_data_action: Optional[bool] = None,
- **kwargs
- ):
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "Relationship"
+
+
+class RelationshipHint(_serialization.Model):
+ """An object used to help follow relationships from this object to other STIX objects.
+
+ :ivar field_name:
+ :vartype field_name: str
+ :ivar source:
+ :vartype source: str
+ """
+
+ _attribute_map = {
+ "field_name": {"key": "fieldName", "type": "str"},
+ "source": {"key": "source", "type": "str"},
+ }
+
+ def __init__(self, *, field_name: Optional[str] = None, source: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword display: Properties of the operation.
- :paramtype display: ~azure.mgmt.securityinsight.models.OperationDisplay
- :keyword name: Name of the operation.
- :paramtype name: str
- :keyword origin: The origin of the operation.
- :paramtype origin: str
- :keyword is_data_action: Indicates whether the operation is a data action.
- :paramtype is_data_action: bool
+ :keyword field_name:
+ :paramtype field_name: str
+ :keyword source:
+ :paramtype source: str
"""
super().__init__(**kwargs)
- self.display = display
- self.name = name
- self.origin = origin
- self.is_data_action = is_data_action
+ self.field_name = field_name
+ self.source = source
-class OperationDisplay(_serialization.Model):
- """Properties of the operation.
+class Repo(_serialization.Model):
+ """Represents a repository.
- :ivar description: Description of the operation.
- :vartype description: str
- :ivar operation: Operation name.
- :vartype operation: str
- :ivar provider: Provider name.
- :vartype provider: str
- :ivar resource: Resource name.
- :vartype resource: str
+ :ivar url: The url to access the repository.
+ :vartype url: str
+ :ivar full_name: The name of the repository.
+ :vartype full_name: str
+ :ivar installation_id: The installation id of the repository.
+ :vartype installation_id: int
+ :ivar branches: Array of branches.
+ :vartype branches: list[str]
"""
_attribute_map = {
- "description": {"key": "description", "type": "str"},
- "operation": {"key": "operation", "type": "str"},
- "provider": {"key": "provider", "type": "str"},
- "resource": {"key": "resource", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "full_name": {"key": "fullName", "type": "str"},
+ "installation_id": {"key": "installationId", "type": "int"},
+ "branches": {"key": "branches", "type": "[str]"},
}
def __init__(
self,
*,
- description: Optional[str] = None,
- operation: Optional[str] = None,
- provider: Optional[str] = None,
- resource: Optional[str] = None,
- **kwargs
- ):
+ url: Optional[str] = None,
+ full_name: Optional[str] = None,
+ installation_id: Optional[int] = None,
+ branches: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword description: Description of the operation.
- :paramtype description: str
- :keyword operation: Operation name.
- :paramtype operation: str
- :keyword provider: Provider name.
- :paramtype provider: str
- :keyword resource: Resource name.
- :paramtype resource: str
+ :keyword url: The url to access the repository.
+ :paramtype url: str
+ :keyword full_name: The name of the repository.
+ :paramtype full_name: str
+ :keyword installation_id: The installation id of the repository.
+ :paramtype installation_id: int
+ :keyword branches: Array of branches.
+ :paramtype branches: list[str]
"""
super().__init__(**kwargs)
- self.description = description
- self.operation = operation
- self.provider = provider
- self.resource = resource
+ self.url = url
+ self.full_name = full_name
+ self.installation_id = installation_id
+ self.branches = branches
-class OperationsList(_serialization.Model):
- """Lists the operations available in the SecurityInsights RP.
+class RepoList(_serialization.Model):
+ """List all the source controls.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of operations.
+ :ivar next_link: URL to fetch the next set of repositories.
:vartype next_link: str
- :ivar value: Array of operations. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Operation]
+ :ivar value: Array of repositories. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Repo]
"""
_validation = {
@@ -17480,1093 +24411,1434 @@ class OperationsList(_serialization.Model):
_attribute_map = {
"next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[Operation]"},
+ "value": {"key": "value", "type": "[Repo]"},
}
- def __init__(self, *, value: List["_models.Operation"], **kwargs):
+ def __init__(self, *, value: List["_models.Repo"], **kwargs: Any) -> None:
"""
- :keyword value: Array of operations. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Operation]
+ :keyword value: Array of repositories. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Repo]
"""
super().__init__(**kwargs)
self.next_link = None
self.value = value
-class Permissions(_serialization.Model):
- """Permissions required for the connector.
+class ReportActionStatusPayload(_serialization.Model):
+ """Report the status of an action that was performed by the agent.
- :ivar resource_provider: Resource provider permissions required for the connector.
- :vartype resource_provider:
- list[~azure.mgmt.securityinsight.models.PermissionsResourceProviderItem]
- :ivar customs: Customs permissions required for the connector.
- :vartype customs: list[~azure.mgmt.securityinsight.models.PermissionsCustomsItem]
+ :ivar action_id: The action ID to perform.
+ :vartype action_id: str
+ :ivar action_status: The status of the action that was performed by the agent.
+ :vartype action_status: str
+ :ivar failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :vartype failure_reason: str
"""
_attribute_map = {
- "resource_provider": {"key": "resourceProvider", "type": "[PermissionsResourceProviderItem]"},
- "customs": {"key": "customs", "type": "[PermissionsCustomsItem]"},
+ "action_id": {"key": "actionId", "type": "str"},
+ "action_status": {"key": "actionStatus", "type": "str"},
+ "failure_reason": {"key": "failureReason", "type": "str"},
}
def __init__(
self,
*,
- resource_provider: Optional[List["_models.PermissionsResourceProviderItem"]] = None,
- customs: Optional[List["_models.PermissionsCustomsItem"]] = None,
- **kwargs
- ):
+ action_id: Optional[str] = None,
+ action_status: Optional[str] = None,
+ failure_reason: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword resource_provider: Resource provider permissions required for the connector.
- :paramtype resource_provider:
- list[~azure.mgmt.securityinsight.models.PermissionsResourceProviderItem]
- :keyword customs: Customs permissions required for the connector.
- :paramtype customs: list[~azure.mgmt.securityinsight.models.PermissionsCustomsItem]
+ :keyword action_id: The action ID to perform.
+ :paramtype action_id: str
+ :keyword action_status: The status of the action that was performed by the agent.
+ :paramtype action_status: str
+ :keyword failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :paramtype failure_reason: str
"""
super().__init__(**kwargs)
- self.resource_provider = resource_provider
- self.customs = customs
-
-
-class PermissionsCustomsItem(Customs):
- """PermissionsCustomsItem.
-
- :ivar name: Customs permissions name.
- :vartype name: str
- :ivar description: Customs permissions description.
- :vartype description: str
- """
+ self.action_id = action_id
+ self.action_status = action_status
+ self.failure_reason = failure_reason
- _attribute_map = {
- "name": {"key": "name", "type": "str"},
- "description": {"key": "description", "type": "str"},
- }
- def __init__(self, *, name: Optional[str] = None, description: Optional[str] = None, **kwargs):
- """
- :keyword name: Customs permissions name.
- :paramtype name: str
- :keyword description: Customs permissions description.
- :paramtype description: str
- """
- super().__init__(name=name, description=description, **kwargs)
+class Repository(_serialization.Model):
+ """metadata of a repository.
+ Variables are only populated by the server, and will be ignored when sending a request.
-class ResourceProvider(_serialization.Model):
- """Resource provider permissions required for the connector.
+ All required parameters must be populated in order to send to server.
- :ivar provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
- "Microsoft.OperationalInsights/workspaces",
- "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
- "Microsoft.OperationalInsights/workspaces/sharedKeys", and
- "Microsoft.Authorization/policyAssignments".
- :vartype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
- :ivar permissions_display_text: Permission description text.
- :vartype permissions_display_text: str
- :ivar provider_display_name: Permission provider display name.
- :vartype provider_display_name: str
- :ivar scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription", and
- "Workspace".
- :vartype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
- :ivar required_permissions: Required permissions for the connector.
- :vartype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
+ :ivar url: Url of repository. Required.
+ :vartype url: str
+ :ivar branch: Branch name of repository. Required.
+ :vartype branch: str
+ :ivar display_url: Display url of repository.
+ :vartype display_url: str
+ :ivar deployment_logs_url: Url to access repository action logs.
+ :vartype deployment_logs_url: str
"""
+ _validation = {
+ "url": {"required": True},
+ "branch": {"required": True},
+ "deployment_logs_url": {"readonly": True},
+ }
+
_attribute_map = {
- "provider": {"key": "provider", "type": "str"},
- "permissions_display_text": {"key": "permissionsDisplayText", "type": "str"},
- "provider_display_name": {"key": "providerDisplayName", "type": "str"},
- "scope": {"key": "scope", "type": "str"},
- "required_permissions": {"key": "requiredPermissions", "type": "RequiredPermissions"},
+ "url": {"key": "url", "type": "str"},
+ "branch": {"key": "branch", "type": "str"},
+ "display_url": {"key": "displayUrl", "type": "str"},
+ "deployment_logs_url": {"key": "deploymentLogsUrl", "type": "str"},
}
- def __init__(
- self,
- *,
- provider: Optional[Union[str, "_models.ProviderName"]] = None,
- permissions_display_text: Optional[str] = None,
- provider_display_name: Optional[str] = None,
- scope: Optional[Union[str, "_models.PermissionProviderScope"]] = None,
- required_permissions: Optional["_models.RequiredPermissions"] = None,
- **kwargs
- ):
+ def __init__(self, *, url: str, branch: str, display_url: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
- "Microsoft.OperationalInsights/workspaces",
- "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
- "Microsoft.OperationalInsights/workspaces/sharedKeys", and
- "Microsoft.Authorization/policyAssignments".
- :paramtype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
- :keyword permissions_display_text: Permission description text.
- :paramtype permissions_display_text: str
- :keyword provider_display_name: Permission provider display name.
- :paramtype provider_display_name: str
- :keyword scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription",
- and "Workspace".
- :paramtype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
- :keyword required_permissions: Required permissions for the connector.
- :paramtype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
+ :keyword url: Url of repository. Required.
+ :paramtype url: str
+ :keyword branch: Branch name of repository. Required.
+ :paramtype branch: str
+ :keyword display_url: Display url of repository.
+ :paramtype display_url: str
"""
super().__init__(**kwargs)
- self.provider = provider
- self.permissions_display_text = permissions_display_text
- self.provider_display_name = provider_display_name
- self.scope = scope
- self.required_permissions = required_permissions
+ self.url = url
+ self.branch = branch
+ self.display_url = display_url
+ self.deployment_logs_url = None
-class PermissionsResourceProviderItem(ResourceProvider):
- """PermissionsResourceProviderItem.
+class RepositoryAccess(_serialization.Model):
+ """Credentials to access repository.
- :ivar provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
- "Microsoft.OperationalInsights/workspaces",
- "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
- "Microsoft.OperationalInsights/workspaces/sharedKeys", and
- "Microsoft.Authorization/policyAssignments".
- :vartype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
- :ivar permissions_display_text: Permission description text.
- :vartype permissions_display_text: str
- :ivar provider_display_name: Permission provider display name.
- :vartype provider_display_name: str
- :ivar scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription", and
- "Workspace".
- :vartype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
- :ivar required_permissions: Required permissions for the connector.
- :vartype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: The kind of repository access credentials. Required. Known values are: "OAuth",
+ "PAT", and "App".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.RepositoryAccessKind
+ :ivar code: OAuth Code. Required when ``kind`` is ``OAuth``.
+ :vartype code: str
+ :ivar state: OAuth State. Required when ``kind`` is ``OAuth``.
+ :vartype state: str
+ :ivar client_id: OAuth ClientId. Required when ``kind`` is ``OAuth``.
+ :vartype client_id: str
+ :ivar token: Personal Access Token. Required when ``kind`` is ``PAT``.
+ :vartype token: str
+ :ivar installation_id: Application installation ID. Required when ``kind`` is ``App``.
+ Supported by ``GitHub`` only.
+ :vartype installation_id: str
"""
+ _validation = {
+ "kind": {"required": True},
+ }
+
_attribute_map = {
- "provider": {"key": "provider", "type": "str"},
- "permissions_display_text": {"key": "permissionsDisplayText", "type": "str"},
- "provider_display_name": {"key": "providerDisplayName", "type": "str"},
- "scope": {"key": "scope", "type": "str"},
- "required_permissions": {"key": "requiredPermissions", "type": "RequiredPermissions"},
+ "kind": {"key": "kind", "type": "str"},
+ "code": {"key": "code", "type": "str"},
+ "state": {"key": "state", "type": "str"},
+ "client_id": {"key": "clientId", "type": "str"},
+ "token": {"key": "token", "type": "str"},
+ "installation_id": {"key": "installationId", "type": "str"},
}
def __init__(
self,
*,
- provider: Optional[Union[str, "_models.ProviderName"]] = None,
- permissions_display_text: Optional[str] = None,
- provider_display_name: Optional[str] = None,
- scope: Optional[Union[str, "_models.PermissionProviderScope"]] = None,
- required_permissions: Optional["_models.RequiredPermissions"] = None,
- **kwargs
- ):
- """
- :keyword provider: Provider name. Known values are: "Microsoft.OperationalInsights/solutions",
- "Microsoft.OperationalInsights/workspaces",
- "Microsoft.OperationalInsights/workspaces/datasources", "microsoft.aadiam/diagnosticSettings",
- "Microsoft.OperationalInsights/workspaces/sharedKeys", and
- "Microsoft.Authorization/policyAssignments".
- :paramtype provider: str or ~azure.mgmt.securityinsight.models.ProviderName
- :keyword permissions_display_text: Permission description text.
- :paramtype permissions_display_text: str
- :keyword provider_display_name: Permission provider display name.
- :paramtype provider_display_name: str
- :keyword scope: Permission provider scope. Known values are: "ResourceGroup", "Subscription",
- and "Workspace".
- :paramtype scope: str or ~azure.mgmt.securityinsight.models.PermissionProviderScope
- :keyword required_permissions: Required permissions for the connector.
- :paramtype required_permissions: ~azure.mgmt.securityinsight.models.RequiredPermissions
- """
- super().__init__(
- provider=provider,
- permissions_display_text=permissions_display_text,
- provider_display_name=provider_display_name,
- scope=scope,
- required_permissions=required_permissions,
- **kwargs
- )
-
-
-class PlaybookActionProperties(_serialization.Model):
- """PlaybookActionProperties.
-
- :ivar logic_app_resource_id: The resource id of the playbook resource.
- :vartype logic_app_resource_id: str
- :ivar tenant_id: The tenant id of the playbook resource.
- :vartype tenant_id: str
- """
-
- _attribute_map = {
- "logic_app_resource_id": {"key": "logicAppResourceId", "type": "str"},
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, logic_app_resource_id: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs):
- """
- :keyword logic_app_resource_id: The resource id of the playbook resource.
- :paramtype logic_app_resource_id: str
- :keyword tenant_id: The tenant id of the playbook resource.
- :paramtype tenant_id: str
+ kind: Union[str, "_models.RepositoryAccessKind"],
+ code: Optional[str] = None,
+ state: Optional[str] = None,
+ client_id: Optional[str] = None,
+ token: Optional[str] = None,
+ installation_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kind: The kind of repository access credentials. Required. Known values are: "OAuth",
+ "PAT", and "App".
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.RepositoryAccessKind
+ :keyword code: OAuth Code. Required when ``kind`` is ``OAuth``.
+ :paramtype code: str
+ :keyword state: OAuth State. Required when ``kind`` is ``OAuth``.
+ :paramtype state: str
+ :keyword client_id: OAuth ClientId. Required when ``kind`` is ``OAuth``.
+ :paramtype client_id: str
+ :keyword token: Personal Access Token. Required when ``kind`` is ``PAT``.
+ :paramtype token: str
+ :keyword installation_id: Application installation ID. Required when ``kind`` is ``App``.
+ Supported by ``GitHub`` only.
+ :paramtype installation_id: str
"""
super().__init__(**kwargs)
- self.logic_app_resource_id = logic_app_resource_id
- self.tenant_id = tenant_id
-
+ self.kind = kind
+ self.code = code
+ self.state = state
+ self.client_id = client_id
+ self.token = token
+ self.installation_id = installation_id
-class ProcessEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a process entity.
- Variables are only populated by the server, and will be ignored when sending a request.
+class RepositoryAccessProperties(_serialization.Model):
+ """Credentials to access repository.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar account_entity_id: The account entity id running the processes.
- :vartype account_entity_id: str
- :ivar command_line: The command line used to create the process.
- :vartype command_line: str
- :ivar creation_time_utc: The time when the process started to run.
- :vartype creation_time_utc: ~datetime.datetime
- :ivar elevation_token: The elevation token associated with the process. Known values are:
- "Default", "Full", and "Limited".
- :vartype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
- :ivar host_entity_id: The host entity id on which the process was running.
- :vartype host_entity_id: str
- :ivar host_logon_session_entity_id: The session entity id in which the process was running.
- :vartype host_logon_session_entity_id: str
- :ivar image_file_entity_id: Image file entity id.
- :vartype image_file_entity_id: str
- :ivar parent_process_entity_id: The parent process entity id.
- :vartype parent_process_entity_id: str
- :ivar process_id: The process ID.
- :vartype process_id: str
+ :ivar kind: The kind of repository access credentials. Required. Known values are: "OAuth",
+ "PAT", and "App".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.RepositoryAccessKind
+ :ivar code: OAuth Code. Required when ``kind`` is ``OAuth``.
+ :vartype code: str
+ :ivar state: OAuth State. Required when ``kind`` is ``OAuth``.
+ :vartype state: str
+ :ivar client_id: OAuth ClientId. Required when ``kind`` is ``OAuth``.
+ :vartype client_id: str
+ :ivar token: Personal Access Token. Required when ``kind`` is ``PAT``.
+ :vartype token: str
+ :ivar installation_id: Application installation ID. Required when ``kind`` is ``App``.
+ Supported by ``GitHub`` only.
+ :vartype installation_id: str
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
"kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "account_entity_id": {"readonly": True},
- "command_line": {"readonly": True},
- "creation_time_utc": {"readonly": True},
- "host_entity_id": {"readonly": True},
- "host_logon_session_entity_id": {"readonly": True},
- "image_file_entity_id": {"readonly": True},
- "parent_process_entity_id": {"readonly": True},
- "process_id": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "account_entity_id": {"key": "properties.accountEntityId", "type": "str"},
- "command_line": {"key": "properties.commandLine", "type": "str"},
- "creation_time_utc": {"key": "properties.creationTimeUtc", "type": "iso-8601"},
- "elevation_token": {"key": "properties.elevationToken", "type": "str"},
- "host_entity_id": {"key": "properties.hostEntityId", "type": "str"},
- "host_logon_session_entity_id": {"key": "properties.hostLogonSessionEntityId", "type": "str"},
- "image_file_entity_id": {"key": "properties.imageFileEntityId", "type": "str"},
- "parent_process_entity_id": {"key": "properties.parentProcessEntityId", "type": "str"},
- "process_id": {"key": "properties.processId", "type": "str"},
+ "kind": {"key": "properties.repositoryAccess.kind", "type": "str"},
+ "code": {"key": "properties.repositoryAccess.code", "type": "str"},
+ "state": {"key": "properties.repositoryAccess.state", "type": "str"},
+ "client_id": {"key": "properties.repositoryAccess.clientId", "type": "str"},
+ "token": {"key": "properties.repositoryAccess.token", "type": "str"},
+ "installation_id": {"key": "properties.repositoryAccess.installationId", "type": "str"},
}
- def __init__(self, *, elevation_token: Optional[Union[str, "_models.ElevationToken"]] = None, **kwargs):
- """
- :keyword elevation_token: The elevation token associated with the process. Known values are:
- "Default", "Full", and "Limited".
- :paramtype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ def __init__(
+ self,
+ *,
+ kind: Union[str, "_models.RepositoryAccessKind"],
+ code: Optional[str] = None,
+ state: Optional[str] = None,
+ client_id: Optional[str] = None,
+ token: Optional[str] = None,
+ installation_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kind: The kind of repository access credentials. Required. Known values are: "OAuth",
+ "PAT", and "App".
+ :paramtype kind: str or ~azure.mgmt.securityinsight.models.RepositoryAccessKind
+ :keyword code: OAuth Code. Required when ``kind`` is ``OAuth``.
+ :paramtype code: str
+ :keyword state: OAuth State. Required when ``kind`` is ``OAuth``.
+ :paramtype state: str
+ :keyword client_id: OAuth ClientId. Required when ``kind`` is ``OAuth``.
+ :paramtype client_id: str
+ :keyword token: Personal Access Token. Required when ``kind`` is ``PAT``.
+ :paramtype token: str
+ :keyword installation_id: Application installation ID. Required when ``kind`` is ``App``.
+ Supported by ``GitHub`` only.
+ :paramtype installation_id: str
"""
super().__init__(**kwargs)
- self.kind: str = "Process"
- self.additional_data = None
- self.friendly_name = None
- self.account_entity_id = None
- self.command_line = None
- self.creation_time_utc = None
- self.elevation_token = elevation_token
- self.host_entity_id = None
- self.host_logon_session_entity_id = None
- self.image_file_entity_id = None
- self.parent_process_entity_id = None
- self.process_id = None
+ self.kind = kind
+ self.code = code
+ self.state = state
+ self.client_id = client_id
+ self.token = token
+ self.installation_id = installation_id
-class ProcessEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Process entity property bag.
+class RepositoryResourceInfo(_serialization.Model):
+ """Resources created in user's repository for the source-control.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar account_entity_id: The account entity id running the processes.
- :vartype account_entity_id: str
- :ivar command_line: The command line used to create the process.
- :vartype command_line: str
- :ivar creation_time_utc: The time when the process started to run.
- :vartype creation_time_utc: ~datetime.datetime
- :ivar elevation_token: The elevation token associated with the process. Known values are:
- "Default", "Full", and "Limited".
- :vartype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
- :ivar host_entity_id: The host entity id on which the process was running.
- :vartype host_entity_id: str
- :ivar host_logon_session_entity_id: The session entity id in which the process was running.
- :vartype host_logon_session_entity_id: str
- :ivar image_file_entity_id: Image file entity id.
- :vartype image_file_entity_id: str
- :ivar parent_process_entity_id: The parent process entity id.
- :vartype parent_process_entity_id: str
- :ivar process_id: The process ID.
- :vartype process_id: str
+ :ivar webhook: The webhook object created for the source-control.
+ :vartype webhook: ~azure.mgmt.securityinsight.models.Webhook
+ :ivar git_hub_resource_info: Resources created in GitHub for this source-control.
+ :vartype git_hub_resource_info: ~azure.mgmt.securityinsight.models.GitHubResourceInfo
+ :ivar azure_dev_ops_resource_info: Resources created in Azure DevOps for this source-control.
+ :vartype azure_dev_ops_resource_info:
+ ~azure.mgmt.securityinsight.models.AzureDevOpsResourceInfo
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "account_entity_id": {"readonly": True},
- "command_line": {"readonly": True},
- "creation_time_utc": {"readonly": True},
- "host_entity_id": {"readonly": True},
- "host_logon_session_entity_id": {"readonly": True},
- "image_file_entity_id": {"readonly": True},
- "parent_process_entity_id": {"readonly": True},
- "process_id": {"readonly": True},
+ "git_hub_resource_info": {"readonly": True},
+ "azure_dev_ops_resource_info": {"readonly": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "account_entity_id": {"key": "accountEntityId", "type": "str"},
- "command_line": {"key": "commandLine", "type": "str"},
- "creation_time_utc": {"key": "creationTimeUtc", "type": "iso-8601"},
- "elevation_token": {"key": "elevationToken", "type": "str"},
- "host_entity_id": {"key": "hostEntityId", "type": "str"},
- "host_logon_session_entity_id": {"key": "hostLogonSessionEntityId", "type": "str"},
- "image_file_entity_id": {"key": "imageFileEntityId", "type": "str"},
- "parent_process_entity_id": {"key": "parentProcessEntityId", "type": "str"},
- "process_id": {"key": "processId", "type": "str"},
+ "webhook": {"key": "webhook", "type": "Webhook"},
+ "git_hub_resource_info": {"key": "gitHubResourceInfo", "type": "GitHubResourceInfo"},
+ "azure_dev_ops_resource_info": {"key": "azureDevOpsResourceInfo", "type": "AzureDevOpsResourceInfo"},
}
- def __init__(self, *, elevation_token: Optional[Union[str, "_models.ElevationToken"]] = None, **kwargs):
+ def __init__(self, *, webhook: Optional["_models.Webhook"] = None, **kwargs: Any) -> None:
"""
- :keyword elevation_token: The elevation token associated with the process. Known values are:
- "Default", "Full", and "Limited".
- :paramtype elevation_token: str or ~azure.mgmt.securityinsight.models.ElevationToken
+ :keyword webhook: The webhook object created for the source-control.
+ :paramtype webhook: ~azure.mgmt.securityinsight.models.Webhook
"""
super().__init__(**kwargs)
- self.account_entity_id = None
- self.command_line = None
- self.creation_time_utc = None
- self.elevation_token = elevation_token
- self.host_entity_id = None
- self.host_logon_session_entity_id = None
- self.image_file_entity_id = None
- self.parent_process_entity_id = None
- self.process_id = None
-
+ self.webhook = webhook
+ self.git_hub_resource_info = None
+ self.azure_dev_ops_resource_info = None
-class PropertyArrayChangedConditionProperties(AutomationRuleCondition):
- """Describes an automation rule condition that evaluates an array property's value change.
- All required parameters must be populated in order to send to Azure.
+class RequiredPermissions(_serialization.Model):
+ """Required permissions for the connector.
- :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
- "PropertyChanged", "PropertyArrayChanged", and "Boolean".
- :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
- :ivar condition_properties:
- :vartype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayChangedValuesCondition
+ :ivar action: action permission.
+ :vartype action: bool
+ :ivar write: write permission.
+ :vartype write: bool
+ :ivar read: read permission.
+ :vartype read: bool
+ :ivar delete: delete permission.
+ :vartype delete: bool
"""
- _validation = {
- "condition_type": {"required": True},
+ _attribute_map = {
+ "action": {"key": "action", "type": "bool"},
+ "write": {"key": "write", "type": "bool"},
+ "read": {"key": "read", "type": "bool"},
+ "delete": {"key": "delete", "type": "bool"},
}
+ def __init__(
+ self,
+ *,
+ action: Optional[bool] = None,
+ write: Optional[bool] = None,
+ read: Optional[bool] = None,
+ delete: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword action: action permission.
+ :paramtype action: bool
+ :keyword write: write permission.
+ :paramtype write: bool
+ :keyword read: read permission.
+ :paramtype read: bool
+ :keyword delete: delete permission.
+ :paramtype delete: bool
+ """
+ super().__init__(**kwargs)
+ self.action = action
+ self.write = write
+ self.read = read
+ self.delete = delete
+
+
+class ResourceProviderRequiredPermissions(_serialization.Model):
+ """Required permissions for the connector resource provider that define in ResourceProviders.
+ For more information about the permissions see :code:`here`.
+
+ :ivar read: Gets or sets a value indicating whether the permission is read action (GET).
+ :vartype read: bool
+ :ivar write: Gets or sets a value indicating whether the permission is write action (PUT or
+ PATCH).
+ :vartype write: bool
+ :ivar delete: Gets or sets a value indicating whether the permission is delete action (DELETE).
+ :vartype delete: bool
+ :ivar action: Gets or sets a value indicating whether the permission is custom actions (POST).
+ :vartype action: bool
+ """
+
_attribute_map = {
- "condition_type": {"key": "conditionType", "type": "str"},
- "condition_properties": {
- "key": "conditionProperties",
- "type": "AutomationRulePropertyArrayChangedValuesCondition",
- },
+ "read": {"key": "read", "type": "bool"},
+ "write": {"key": "write", "type": "bool"},
+ "delete": {"key": "delete", "type": "bool"},
+ "action": {"key": "action", "type": "bool"},
}
def __init__(
self,
*,
- condition_properties: Optional["_models.AutomationRulePropertyArrayChangedValuesCondition"] = None,
- **kwargs
- ):
+ read: Optional[bool] = None,
+ write: Optional[bool] = None,
+ delete: Optional[bool] = None,
+ action: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword condition_properties:
- :paramtype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayChangedValuesCondition
+ :keyword read: Gets or sets a value indicating whether the permission is read action (GET).
+ :paramtype read: bool
+ :keyword write: Gets or sets a value indicating whether the permission is write action (PUT or
+ PATCH).
+ :paramtype write: bool
+ :keyword delete: Gets or sets a value indicating whether the permission is delete action
+ (DELETE).
+ :paramtype delete: bool
+ :keyword action: Gets or sets a value indicating whether the permission is custom actions
+ (POST).
+ :paramtype action: bool
"""
super().__init__(**kwargs)
- self.condition_type: str = "PropertyArrayChanged"
- self.condition_properties = condition_properties
+ self.read = read
+ self.write = write
+ self.delete = delete
+ self.action = action
-class PropertyArrayConditionProperties(AutomationRuleCondition):
- """Describes an automation rule condition that evaluates an array property's value.
+class RestApiPollerDataConnector(DataConnector):
+ """Represents Rest Api Poller data connector.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
- "PropertyChanged", "PropertyArrayChanged", and "Boolean".
- :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
- :ivar condition_properties:
- :vartype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayValuesCondition
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
+ "AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
+ "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
+ :ivar connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :vartype connector_definition_name: str
+ :ivar auth: The a authentication model.
+ :vartype auth: ~azure.mgmt.securityinsight.models.CcpAuthConfig
+ :ivar request: The request configuration.
+ :vartype request: ~azure.mgmt.securityinsight.models.RestApiPollerRequestConfig
+ :ivar dcr_config: The DCR related properties.
+ :vartype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
+ :ivar is_active: Indicates whether the connector is active or not.
+ :vartype is_active: bool
+ :ivar data_type: The Log Analytics table destination.
+ :vartype data_type: str
+ :ivar response: The response configuration.
+ :vartype response: ~azure.mgmt.securityinsight.models.CcpResponseConfig
+ :ivar paging: The paging configuration.
+ :vartype paging: ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingConfig
+ :ivar add_on_attributes: The add on attributes. The key name will become attribute name (a
+ column) and the value will become the attribute value in the payload.
+ :vartype add_on_attributes: dict[str, str]
"""
_validation = {
- "condition_type": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
}
_attribute_map = {
- "condition_type": {"key": "conditionType", "type": "str"},
- "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyArrayValuesCondition"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "connector_definition_name": {"key": "properties.connectorDefinitionName", "type": "str"},
+ "auth": {"key": "properties.auth", "type": "CcpAuthConfig"},
+ "request": {"key": "properties.request", "type": "RestApiPollerRequestConfig"},
+ "dcr_config": {"key": "properties.dcrConfig", "type": "DCRConfiguration"},
+ "is_active": {"key": "properties.isActive", "type": "bool"},
+ "data_type": {"key": "properties.dataType", "type": "str"},
+ "response": {"key": "properties.response", "type": "CcpResponseConfig"},
+ "paging": {"key": "properties.paging", "type": "RestApiPollerRequestPagingConfig"},
+ "add_on_attributes": {"key": "properties.addOnAttributes", "type": "{str}"},
}
def __init__(
- self, *, condition_properties: Optional["_models.AutomationRulePropertyArrayValuesCondition"] = None, **kwargs
- ):
+ self,
+ *,
+ etag: Optional[str] = None,
+ connector_definition_name: Optional[str] = None,
+ auth: Optional["_models.CcpAuthConfig"] = None,
+ request: Optional["_models.RestApiPollerRequestConfig"] = None,
+ dcr_config: Optional["_models.DCRConfiguration"] = None,
+ is_active: Optional[bool] = None,
+ data_type: Optional[str] = None,
+ response: Optional["_models.CcpResponseConfig"] = None,
+ paging: Optional["_models.RestApiPollerRequestPagingConfig"] = None,
+ add_on_attributes: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword condition_properties:
- :paramtype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyArrayValuesCondition
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword connector_definition_name: The connector definition name (the dataConnectorDefinition
+ resource id).
+ :paramtype connector_definition_name: str
+ :keyword auth: The a authentication model.
+ :paramtype auth: ~azure.mgmt.securityinsight.models.CcpAuthConfig
+ :keyword request: The request configuration.
+ :paramtype request: ~azure.mgmt.securityinsight.models.RestApiPollerRequestConfig
+ :keyword dcr_config: The DCR related properties.
+ :paramtype dcr_config: ~azure.mgmt.securityinsight.models.DCRConfiguration
+ :keyword is_active: Indicates whether the connector is active or not.
+ :paramtype is_active: bool
+ :keyword data_type: The Log Analytics table destination.
+ :paramtype data_type: str
+ :keyword response: The response configuration.
+ :paramtype response: ~azure.mgmt.securityinsight.models.CcpResponseConfig
+ :keyword paging: The paging configuration.
+ :paramtype paging: ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingConfig
+ :keyword add_on_attributes: The add on attributes. The key name will become attribute name (a
+ column) and the value will become the attribute value in the payload.
+ :paramtype add_on_attributes: dict[str, str]
"""
- super().__init__(**kwargs)
- self.condition_type: str = "PropertyArray"
- self.condition_properties = condition_properties
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "RestApiPoller"
+ self.connector_definition_name = connector_definition_name
+ self.auth = auth
+ self.request = request
+ self.dcr_config = dcr_config
+ self.is_active = is_active
+ self.data_type = data_type
+ self.response = response
+ self.paging = paging
+ self.add_on_attributes = add_on_attributes
-class PropertyChangedConditionProperties(AutomationRuleCondition):
- """Describes an automation rule condition that evaluates a property's value change.
+class RestApiPollerRequestConfig(_serialization.Model):
+ """The request configuration.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
- "PropertyChanged", "PropertyArrayChanged", and "Boolean".
- :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
- :ivar condition_properties:
- :vartype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesChangedCondition
+ :ivar api_endpoint: The API endpoint. Required.
+ :vartype api_endpoint: str
+ :ivar rate_limit_qps: The Rate limit queries per second for the request..
+ :vartype rate_limit_qps: int
+ :ivar query_window_in_min: The query window in minutes for the request.
+ :vartype query_window_in_min: int
+ :ivar http_method: The HTTP method, default value GET. Known values are: "GET", "POST", "PUT",
+ and "DELETE".
+ :vartype http_method: str or ~azure.mgmt.securityinsight.models.HttpMethodVerb
+ :ivar query_time_format: The query time format. A remote server can have a query to pull data
+ from range 'start' to 'end'. This property indicate what is the expected time format the remote
+ server know to parse.
+ :vartype query_time_format: str
+ :ivar retry_count: The retry count.
+ :vartype retry_count: int
+ :ivar timeout_in_seconds: The timeout in seconds.
+ :vartype timeout_in_seconds: int
+ :ivar is_post_payload_json: Flag to indicate if HTTP POST payload is in JSON format (vs
+ form-urlencoded).
+ :vartype is_post_payload_json: bool
+ :ivar headers: The header for the request for the remote server.
+ :vartype headers: dict[str, str]
+ :ivar query_parameters: The HTTP query parameters to RESTful API.
+ :vartype query_parameters: dict[str, any]
+ :ivar query_parameters_template: the query parameters template. Defines the query parameters
+ template to use when passing query parameters in advanced scenarios.
+ :vartype query_parameters_template: str
+ :ivar start_time_attribute_name: The query parameter name which the remote server expect to
+ start query. This property goes hand to hand with ``endTimeAttributeName``.
+ :vartype start_time_attribute_name: str
+ :ivar end_time_attribute_name: The query parameter name which the remote server expect to end
+ query. This property goes hand to hand with ``startTimeAttributeName``.
+ :vartype end_time_attribute_name: str
+ :ivar query_time_interval_attribute_name: The query parameter name which we need to send the
+ server for query logs in time interval. Should be defined with ``queryTimeIntervalPrepend`` and
+ ``queryTimeIntervalDelimiter``.
+ :vartype query_time_interval_attribute_name: str
+ :ivar query_time_interval_prepend: The string prepend to the value of the query parameter in
+ ``queryTimeIntervalAttributeName``.
+ :vartype query_time_interval_prepend: str
+ :ivar query_time_interval_delimiter: The delimiter string between 2 QueryTimeFormat in the
+ query parameter ``queryTimeIntervalAttributeName``.
+ :vartype query_time_interval_delimiter: str
"""
_validation = {
- "condition_type": {"required": True},
+ "api_endpoint": {"required": True},
}
_attribute_map = {
- "condition_type": {"key": "conditionType", "type": "str"},
- "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyValuesChangedCondition"},
+ "api_endpoint": {"key": "apiEndpoint", "type": "str"},
+ "rate_limit_qps": {"key": "rateLimitQPS", "type": "int"},
+ "query_window_in_min": {"key": "queryWindowInMin", "type": "int"},
+ "http_method": {"key": "httpMethod", "type": "str"},
+ "query_time_format": {"key": "queryTimeFormat", "type": "str"},
+ "retry_count": {"key": "retryCount", "type": "int"},
+ "timeout_in_seconds": {"key": "timeoutInSeconds", "type": "int"},
+ "is_post_payload_json": {"key": "isPostPayloadJson", "type": "bool"},
+ "headers": {"key": "headers", "type": "{str}"},
+ "query_parameters": {"key": "queryParameters", "type": "{object}"},
+ "query_parameters_template": {"key": "queryParametersTemplate", "type": "str"},
+ "start_time_attribute_name": {"key": "startTimeAttributeName", "type": "str"},
+ "end_time_attribute_name": {"key": "endTimeAttributeName", "type": "str"},
+ "query_time_interval_attribute_name": {"key": "queryTimeIntervalAttributeName", "type": "str"},
+ "query_time_interval_prepend": {"key": "queryTimeIntervalPrepend", "type": "str"},
+ "query_time_interval_delimiter": {"key": "queryTimeIntervalDelimiter", "type": "str"},
}
def __init__(
- self, *, condition_properties: Optional["_models.AutomationRulePropertyValuesChangedCondition"] = None, **kwargs
- ):
+ self,
+ *,
+ api_endpoint: str,
+ rate_limit_qps: Optional[int] = None,
+ query_window_in_min: Optional[int] = None,
+ http_method: Optional[Union[str, "_models.HttpMethodVerb"]] = None,
+ query_time_format: Optional[str] = None,
+ retry_count: Optional[int] = None,
+ timeout_in_seconds: Optional[int] = None,
+ is_post_payload_json: Optional[bool] = None,
+ headers: Optional[Dict[str, str]] = None,
+ query_parameters: Optional[Dict[str, Any]] = None,
+ query_parameters_template: Optional[str] = None,
+ start_time_attribute_name: Optional[str] = None,
+ end_time_attribute_name: Optional[str] = None,
+ query_time_interval_attribute_name: Optional[str] = None,
+ query_time_interval_prepend: Optional[str] = None,
+ query_time_interval_delimiter: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword condition_properties:
- :paramtype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesChangedCondition
+ :keyword api_endpoint: The API endpoint. Required.
+ :paramtype api_endpoint: str
+ :keyword rate_limit_qps: The Rate limit queries per second for the request..
+ :paramtype rate_limit_qps: int
+ :keyword query_window_in_min: The query window in minutes for the request.
+ :paramtype query_window_in_min: int
+ :keyword http_method: The HTTP method, default value GET. Known values are: "GET", "POST",
+ "PUT", and "DELETE".
+ :paramtype http_method: str or ~azure.mgmt.securityinsight.models.HttpMethodVerb
+ :keyword query_time_format: The query time format. A remote server can have a query to pull
+ data from range 'start' to 'end'. This property indicate what is the expected time format the
+ remote server know to parse.
+ :paramtype query_time_format: str
+ :keyword retry_count: The retry count.
+ :paramtype retry_count: int
+ :keyword timeout_in_seconds: The timeout in seconds.
+ :paramtype timeout_in_seconds: int
+ :keyword is_post_payload_json: Flag to indicate if HTTP POST payload is in JSON format (vs
+ form-urlencoded).
+ :paramtype is_post_payload_json: bool
+ :keyword headers: The header for the request for the remote server.
+ :paramtype headers: dict[str, str]
+ :keyword query_parameters: The HTTP query parameters to RESTful API.
+ :paramtype query_parameters: dict[str, any]
+ :keyword query_parameters_template: the query parameters template. Defines the query parameters
+ template to use when passing query parameters in advanced scenarios.
+ :paramtype query_parameters_template: str
+ :keyword start_time_attribute_name: The query parameter name which the remote server expect to
+ start query. This property goes hand to hand with ``endTimeAttributeName``.
+ :paramtype start_time_attribute_name: str
+ :keyword end_time_attribute_name: The query parameter name which the remote server expect to
+ end query. This property goes hand to hand with ``startTimeAttributeName``.
+ :paramtype end_time_attribute_name: str
+ :keyword query_time_interval_attribute_name: The query parameter name which we need to send the
+ server for query logs in time interval. Should be defined with ``queryTimeIntervalPrepend`` and
+ ``queryTimeIntervalDelimiter``.
+ :paramtype query_time_interval_attribute_name: str
+ :keyword query_time_interval_prepend: The string prepend to the value of the query parameter in
+ ``queryTimeIntervalAttributeName``.
+ :paramtype query_time_interval_prepend: str
+ :keyword query_time_interval_delimiter: The delimiter string between 2 QueryTimeFormat in the
+ query parameter ``queryTimeIntervalAttributeName``.
+ :paramtype query_time_interval_delimiter: str
"""
super().__init__(**kwargs)
- self.condition_type: str = "PropertyChanged"
- self.condition_properties = condition_properties
+ self.api_endpoint = api_endpoint
+ self.rate_limit_qps = rate_limit_qps
+ self.query_window_in_min = query_window_in_min
+ self.http_method = http_method
+ self.query_time_format = query_time_format
+ self.retry_count = retry_count
+ self.timeout_in_seconds = timeout_in_seconds
+ self.is_post_payload_json = is_post_payload_json
+ self.headers = headers
+ self.query_parameters = query_parameters
+ self.query_parameters_template = query_parameters_template
+ self.start_time_attribute_name = start_time_attribute_name
+ self.end_time_attribute_name = end_time_attribute_name
+ self.query_time_interval_attribute_name = query_time_interval_attribute_name
+ self.query_time_interval_prepend = query_time_interval_prepend
+ self.query_time_interval_delimiter = query_time_interval_delimiter
-class PropertyConditionProperties(AutomationRuleCondition):
- """Describes an automation rule condition that evaluates a property's value.
+class RestApiPollerRequestPagingConfig(_serialization.Model):
+ """The request paging configuration.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar condition_type: Required. Known values are: "Property", "PropertyArray",
- "PropertyChanged", "PropertyArrayChanged", and "Boolean".
- :vartype condition_type: str or ~azure.mgmt.securityinsight.models.ConditionType
- :ivar condition_properties:
- :vartype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesCondition
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
"""
_validation = {
- "condition_type": {"required": True},
+ "paging_type": {"required": True},
}
_attribute_map = {
- "condition_type": {"key": "conditionType", "type": "str"},
- "condition_properties": {"key": "conditionProperties", "type": "AutomationRulePropertyValuesCondition"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
}
def __init__(
- self, *, condition_properties: Optional["_models.AutomationRulePropertyValuesCondition"] = None, **kwargs
- ):
- """
- :keyword condition_properties:
- :paramtype condition_properties:
- ~azure.mgmt.securityinsight.models.AutomationRulePropertyValuesCondition
+ self,
+ *,
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
"""
super().__init__(**kwargs)
- self.condition_type: str = "Property"
- self.condition_properties = condition_properties
+ self.paging_type = paging_type
+ self.page_size = page_size
+ self.page_size_parameter_name = page_size_parameter_name
-class Recommendation(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Recommendation object.
+class RestApiPollerRequestPagingCountBaseConfig(RestApiPollerRequestPagingConfig): # pylint: disable=name-too-long
+ """The request paging configuration for Count base paging type parameters.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: id of recommendation. Required.
- :vartype id: str
- :ivar instructions: Instructions of the recommendation. Required.
- :vartype instructions: ~azure.mgmt.securityinsight.models.Instructions
- :ivar content: Content of the recommendation.
- :vartype content: ~azure.mgmt.securityinsight.models.Content
- :ivar resource_id: Id of the resource this recommendation refers to.
- :vartype resource_id: str
- :ivar additional_properties: Collection of additional properties for the recommendation.
- :vartype additional_properties: dict[str, str]
- :ivar title: Title of the recommendation. Required.
- :vartype title: str
- :ivar description: Description of the recommendation. Required.
- :vartype description: str
- :ivar recommendation_type_title: Title of the recommendation type. Required.
- :vartype recommendation_type_title: str
- :ivar recommendation_type_id: Id of the recommendation type. Required.
- :vartype recommendation_type_id: str
- :ivar category: Category of the recommendation. Required. Known values are: "Onboarding",
- "NewFeature", "SocEfficiency", "CostOptimization", and "Demo".
- :vartype category: str or ~azure.mgmt.securityinsight.models.Category
- :ivar context: Context of the recommendation. Required. Known values are: "Analytics",
- "Incidents", "Overview", and "None".
- :vartype context: str or ~azure.mgmt.securityinsight.models.Context
- :ivar workspace_id: Id of the workspace this recommendation refers to. Required.
- :vartype workspace_id: str
- :ivar actions: List of actions to take for this recommendation. Required.
- :vartype actions: list[~azure.mgmt.securityinsight.models.RecommendedAction]
- :ivar state: State of the recommendation. Required. Known values are: "Active", "Disabled",
- "CompletedByUser", "CompletedByAction", and "Hidden".
- :vartype state: str or ~azure.mgmt.securityinsight.models.State
- :ivar priority: Priority of the recommendation. Required. Known values are: "Low", "Medium",
- and "High".
- :vartype priority: str or ~azure.mgmt.securityinsight.models.Priority
- :ivar last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last evaluated.
- Required.
- :vartype last_evaluated_time_utc: ~datetime.datetime
- :ivar hide_until_time_utc: The time stamp (UTC) when the recommendation should be displayed
- again.
- :vartype hide_until_time_utc: ~datetime.datetime
- :ivar display_until_time_utc: The timestamp (UTC) after which the recommendation should not be
- displayed anymore.
- :vartype display_until_time_utc: ~datetime.datetime
- :ivar visible: Value indicating if the recommendation should be displayed or not.
- :vartype visible: bool
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
+ :ivar zero_based_indexing: Indicates whether the count is zero based.
+ :vartype zero_based_indexing: bool
+ :ivar page_count_json_path: JSON path of page count in HTTP response payload.
+ :vartype page_count_json_path: str
+ :ivar page_number_para_name: Parameter name of page number in HTTP request.
+ :vartype page_number_para_name: str
+ :ivar page_number_json_path: JSON path of page number in HTTP response payload.
+ :vartype page_number_json_path: str
+ :ivar total_results_json_path: JSON path of total number of results in HTTP response payload.
+ :vartype total_results_json_path: str
"""
_validation = {
- "id": {"required": True},
- "instructions": {"required": True},
- "title": {"required": True},
- "description": {"required": True},
- "recommendation_type_title": {"required": True},
- "recommendation_type_id": {"required": True},
- "category": {"required": True},
- "context": {"required": True},
- "workspace_id": {"required": True},
- "actions": {"required": True},
- "state": {"required": True},
- "priority": {"required": True},
- "last_evaluated_time_utc": {"required": True},
+ "paging_type": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "instructions": {"key": "instructions", "type": "Instructions"},
- "content": {"key": "content", "type": "Content"},
- "resource_id": {"key": "resourceId", "type": "str"},
- "additional_properties": {"key": "additionalProperties", "type": "{str}"},
- "title": {"key": "title", "type": "str"},
- "description": {"key": "description", "type": "str"},
- "recommendation_type_title": {"key": "recommendationTypeTitle", "type": "str"},
- "recommendation_type_id": {"key": "recommendationTypeId", "type": "str"},
- "category": {"key": "category", "type": "str"},
- "context": {"key": "context", "type": "str"},
- "workspace_id": {"key": "workspaceId", "type": "str"},
- "actions": {"key": "actions", "type": "[RecommendedAction]"},
- "state": {"key": "state", "type": "str"},
- "priority": {"key": "priority", "type": "str"},
- "last_evaluated_time_utc": {"key": "lastEvaluatedTimeUtc", "type": "iso-8601"},
- "hide_until_time_utc": {"key": "hideUntilTimeUtc", "type": "iso-8601"},
- "display_until_time_utc": {"key": "displayUntilTimeUtc", "type": "iso-8601"},
- "visible": {"key": "visible", "type": "bool"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
+ "zero_based_indexing": {"key": "zeroBasedIndexing", "type": "bool"},
+ "page_count_json_path": {"key": "pageCountJsonPath", "type": "str"},
+ "page_number_para_name": {"key": "pageNumberParaName", "type": "str"},
+ "page_number_json_path": {"key": "pageNumberJsonPath", "type": "str"},
+ "total_results_json_path": {"key": "totalResultsJsonPath", "type": "str"},
}
def __init__(
self,
*,
- id: str, # pylint: disable=redefined-builtin
- instructions: "_models.Instructions",
- title: str,
- description: str,
- recommendation_type_title: str,
- recommendation_type_id: str,
- category: Union[str, "_models.Category"],
- context: Union[str, "_models.Context"],
- workspace_id: str,
- actions: List["_models.RecommendedAction"],
- state: Union[str, "_models.State"],
- priority: Union[str, "_models.Priority"],
- last_evaluated_time_utc: datetime.datetime,
- content: Optional["_models.Content"] = None,
- resource_id: Optional[str] = None,
- additional_properties: Optional[Dict[str, str]] = None,
- hide_until_time_utc: Optional[datetime.datetime] = None,
- display_until_time_utc: Optional[datetime.datetime] = None,
- visible: Optional[bool] = None,
- **kwargs
- ):
- """
- :keyword id: id of recommendation. Required.
- :paramtype id: str
- :keyword instructions: Instructions of the recommendation. Required.
- :paramtype instructions: ~azure.mgmt.securityinsight.models.Instructions
- :keyword content: Content of the recommendation.
- :paramtype content: ~azure.mgmt.securityinsight.models.Content
- :keyword resource_id: Id of the resource this recommendation refers to.
- :paramtype resource_id: str
- :keyword additional_properties: Collection of additional properties for the recommendation.
- :paramtype additional_properties: dict[str, str]
- :keyword title: Title of the recommendation. Required.
- :paramtype title: str
- :keyword description: Description of the recommendation. Required.
- :paramtype description: str
- :keyword recommendation_type_title: Title of the recommendation type. Required.
- :paramtype recommendation_type_title: str
- :keyword recommendation_type_id: Id of the recommendation type. Required.
- :paramtype recommendation_type_id: str
- :keyword category: Category of the recommendation. Required. Known values are: "Onboarding",
- "NewFeature", "SocEfficiency", "CostOptimization", and "Demo".
- :paramtype category: str or ~azure.mgmt.securityinsight.models.Category
- :keyword context: Context of the recommendation. Required. Known values are: "Analytics",
- "Incidents", "Overview", and "None".
- :paramtype context: str or ~azure.mgmt.securityinsight.models.Context
- :keyword workspace_id: Id of the workspace this recommendation refers to. Required.
- :paramtype workspace_id: str
- :keyword actions: List of actions to take for this recommendation. Required.
- :paramtype actions: list[~azure.mgmt.securityinsight.models.RecommendedAction]
- :keyword state: State of the recommendation. Required. Known values are: "Active", "Disabled",
- "CompletedByUser", "CompletedByAction", and "Hidden".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.State
- :keyword priority: Priority of the recommendation. Required. Known values are: "Low", "Medium",
- and "High".
- :paramtype priority: str or ~azure.mgmt.securityinsight.models.Priority
- :keyword last_evaluated_time_utc: The time stamp (UTC) when the recommendation was last
- evaluated. Required.
- :paramtype last_evaluated_time_utc: ~datetime.datetime
- :keyword hide_until_time_utc: The time stamp (UTC) when the recommendation should be displayed
- again.
- :paramtype hide_until_time_utc: ~datetime.datetime
- :keyword display_until_time_utc: The timestamp (UTC) after which the recommendation should not
- be displayed anymore.
- :paramtype display_until_time_utc: ~datetime.datetime
- :keyword visible: Value indicating if the recommendation should be displayed or not.
- :paramtype visible: bool
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ zero_based_indexing: Optional[bool] = None,
+ page_count_json_path: Optional[str] = None,
+ page_number_para_name: Optional[str] = None,
+ page_number_json_path: Optional[str] = None,
+ total_results_json_path: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
+ :keyword zero_based_indexing: Indicates whether the count is zero based.
+ :paramtype zero_based_indexing: bool
+ :keyword page_count_json_path: JSON path of page count in HTTP response payload.
+ :paramtype page_count_json_path: str
+ :keyword page_number_para_name: Parameter name of page number in HTTP request.
+ :paramtype page_number_para_name: str
+ :keyword page_number_json_path: JSON path of page number in HTTP response payload.
+ :paramtype page_number_json_path: str
+ :keyword total_results_json_path: JSON path of total number of results in HTTP response
+ payload.
+ :paramtype total_results_json_path: str
"""
- super().__init__(**kwargs)
- self.id = id
- self.instructions = instructions
- self.content = content
- self.resource_id = resource_id
- self.additional_properties = additional_properties
- self.title = title
- self.description = description
- self.recommendation_type_title = recommendation_type_title
- self.recommendation_type_id = recommendation_type_id
- self.category = category
- self.context = context
- self.workspace_id = workspace_id
- self.actions = actions
- self.state = state
- self.priority = priority
- self.last_evaluated_time_utc = last_evaluated_time_utc
- self.hide_until_time_utc = hide_until_time_utc
- self.display_until_time_utc = display_until_time_utc
- self.visible = visible
+ super().__init__(
+ paging_type=paging_type, page_size=page_size, page_size_parameter_name=page_size_parameter_name, **kwargs
+ )
+ self.zero_based_indexing = zero_based_indexing
+ self.page_count_json_path = page_count_json_path
+ self.page_number_para_name = page_number_para_name
+ self.page_number_json_path = page_number_json_path
+ self.total_results_json_path = total_results_json_path
-class RecommendationList(_serialization.Model):
- """A list of recommendations.
+class RestApiPollerRequestPagingLinkHeaderConfig(RestApiPollerRequestPagingConfig): # pylint: disable=name-too-long
+ """The request paging configuration for LinkHeader and PersistentLinkHeader paging type
+ parameters.
- :ivar value: An list of recommendations.
- :vartype value: list[~azure.mgmt.securityinsight.models.Recommendation]
+ All required parameters must be populated in order to send to server.
+
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
+ :ivar link_header_token_json_path: JSON path of link header token in HTTP response payload.
+ :vartype link_header_token_json_path: str
+ :ivar link_header_rel_link_name: Rel link name from the link header.
+ :vartype link_header_rel_link_name: str
"""
- _attribute_map = {
- "value": {"key": "value", "type": "[Recommendation]"},
+ _validation = {
+ "paging_type": {"required": True},
}
- def __init__(self, *, value: Optional[List["_models.Recommendation"]] = None, **kwargs):
- """
- :keyword value: An list of recommendations.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Recommendation]
- """
- super().__init__(**kwargs)
- self.value = value
-
-
-class RecommendationPatch(_serialization.Model):
- """Recommendation Fields to update.
-
- :ivar state: State of the recommendation. Known values are: "Active", "Disabled",
- "CompletedByUser", "CompletedByAction", and "Hidden".
- :vartype state: str or ~azure.mgmt.securityinsight.models.State
- :ivar hide_until_time_utc: The time stamp (UTC) when the recommendation should be displayed
- again.
- :vartype hide_until_time_utc: ~datetime.datetime
- """
-
_attribute_map = {
- "state": {"key": "state", "type": "str"},
- "hide_until_time_utc": {"key": "hideUntilTimeUtc", "type": "iso-8601"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
+ "link_header_token_json_path": {"key": "linkHeaderTokenJsonPath", "type": "str"},
+ "link_header_rel_link_name": {"key": "linkHeaderRelLinkName", "type": "str"},
}
def __init__(
self,
*,
- state: Optional[Union[str, "_models.State"]] = None,
- hide_until_time_utc: Optional[datetime.datetime] = None,
- **kwargs
- ):
- """
- :keyword state: State of the recommendation. Known values are: "Active", "Disabled",
- "CompletedByUser", "CompletedByAction", and "Hidden".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.State
- :keyword hide_until_time_utc: The time stamp (UTC) when the recommendation should be displayed
- again.
- :paramtype hide_until_time_utc: ~datetime.datetime
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ link_header_token_json_path: Optional[str] = None,
+ link_header_rel_link_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
+ :keyword link_header_token_json_path: JSON path of link header token in HTTP response payload.
+ :paramtype link_header_token_json_path: str
+ :keyword link_header_rel_link_name: Rel link name from the link header.
+ :paramtype link_header_rel_link_name: str
"""
- super().__init__(**kwargs)
- self.state = state
- self.hide_until_time_utc = hide_until_time_utc
+ super().__init__(
+ paging_type=paging_type, page_size=page_size, page_size_parameter_name=page_size_parameter_name, **kwargs
+ )
+ self.link_header_token_json_path = link_header_token_json_path
+ self.link_header_rel_link_name = link_header_rel_link_name
-class RecommendedAction(_serialization.Model):
- """What actions should be taken to complete the recommendation.
+class RestApiPollerRequestPagingNextPageUrlConfig(RestApiPollerRequestPagingConfig): # pylint: disable=name-too-long
+ """The request paging configuration for NextPageUrl paging type parameters.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar link_text: Text of the link to complete the action. Required.
- :vartype link_text: str
- :ivar link_url: The Link to complete the action. Required.
- :vartype link_url: str
- :ivar state: The state of the action. Known values are: "Low", "Medium", and "High".
- :vartype state: str or ~azure.mgmt.securityinsight.models.Priority
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
+ :ivar next_page_url: Next page URL.
+ :vartype next_page_url: str
+ :ivar next_page_url_query_parameters: Query parameters of next page URL.
+ :vartype next_page_url_query_parameters: dict[str, str]
+ :ivar next_page_url_query_parameters_template: Paging query parameters in string template
+ format.
+ :vartype next_page_url_query_parameters_template: str
+ :ivar next_page_para_name: Next page parameter name in HTTP request.
+ :vartype next_page_para_name: str
+ :ivar next_page_request_header: Next page header name in the request.
+ :vartype next_page_request_header: str
+ :ivar has_next_flag_json_path: JSON path of flag in HTTP response payload to indicate more
+ pages.
+ :vartype has_next_flag_json_path: str
"""
_validation = {
- "link_text": {"required": True},
- "link_url": {"required": True},
+ "paging_type": {"required": True},
}
_attribute_map = {
- "link_text": {"key": "linkText", "type": "str"},
- "link_url": {"key": "linkUrl", "type": "str"},
- "state": {"key": "state", "type": "str"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
+ "next_page_url": {"key": "nextPageUrl", "type": "str"},
+ "next_page_url_query_parameters": {"key": "nextPageUrlQueryParameters", "type": "{str}"},
+ "next_page_url_query_parameters_template": {"key": "nextPageUrlQueryParametersTemplate", "type": "str"},
+ "next_page_para_name": {"key": "nextPageParaName", "type": "str"},
+ "next_page_request_header": {"key": "nextPageRequestHeader", "type": "str"},
+ "has_next_flag_json_path": {"key": "hasNextFlagJsonPath", "type": "str"},
}
def __init__(
- self, *, link_text: str, link_url: str, state: Optional[Union[str, "_models.Priority"]] = None, **kwargs
- ):
- """
- :keyword link_text: Text of the link to complete the action. Required.
- :paramtype link_text: str
- :keyword link_url: The Link to complete the action. Required.
- :paramtype link_url: str
- :keyword state: The state of the action. Known values are: "Low", "Medium", and "High".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.Priority
+ self,
+ *,
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ next_page_url: Optional[str] = None,
+ next_page_url_query_parameters: Optional[Dict[str, str]] = None,
+ next_page_url_query_parameters_template: Optional[str] = None,
+ next_page_para_name: Optional[str] = None,
+ next_page_request_header: Optional[str] = None,
+ has_next_flag_json_path: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
+ :keyword next_page_url: Next page URL.
+ :paramtype next_page_url: str
+ :keyword next_page_url_query_parameters: Query parameters of next page URL.
+ :paramtype next_page_url_query_parameters: dict[str, str]
+ :keyword next_page_url_query_parameters_template: Paging query parameters in string template
+ format.
+ :paramtype next_page_url_query_parameters_template: str
+ :keyword next_page_para_name: Next page parameter name in HTTP request.
+ :paramtype next_page_para_name: str
+ :keyword next_page_request_header: Next page header name in the request.
+ :paramtype next_page_request_header: str
+ :keyword has_next_flag_json_path: JSON path of flag in HTTP response payload to indicate more
+ pages.
+ :paramtype has_next_flag_json_path: str
"""
- super().__init__(**kwargs)
- self.link_text = link_text
- self.link_url = link_url
- self.state = state
-
+ super().__init__(
+ paging_type=paging_type, page_size=page_size, page_size_parameter_name=page_size_parameter_name, **kwargs
+ )
+ self.next_page_url = next_page_url
+ self.next_page_url_query_parameters = next_page_url_query_parameters
+ self.next_page_url_query_parameters_template = next_page_url_query_parameters_template
+ self.next_page_para_name = next_page_para_name
+ self.next_page_request_header = next_page_request_header
+ self.has_next_flag_json_path = has_next_flag_json_path
-class RegistryKeyEntity(Entity):
- """Represents a registry key entity.
- Variables are only populated by the server, and will be ignored when sending a request.
+class RestApiPollerRequestPagingOffsetConfig(RestApiPollerRequestPagingConfig):
+ """The request paging configuration for Offset paging type parameters.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar hive: the hive that holds the registry key. Known values are: "HKEY_LOCAL_MACHINE",
- "HKEY_CLASSES_ROOT", "HKEY_CURRENT_CONFIG", "HKEY_USERS", "HKEY_CURRENT_USER_LOCAL_SETTINGS",
- "HKEY_PERFORMANCE_DATA", "HKEY_PERFORMANCE_NLSTEXT", "HKEY_PERFORMANCE_TEXT", "HKEY_A", and
- "HKEY_CURRENT_USER".
- :vartype hive: str or ~azure.mgmt.securityinsight.models.RegistryHive
- :ivar key: The registry key path.
- :vartype key: str
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
+ :ivar offset_para_name: Offset parameter name in HTTP request.
+ :vartype offset_para_name: str
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "hive": {"readonly": True},
- "key": {"readonly": True},
+ "paging_type": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "hive": {"key": "properties.hive", "type": "str"},
- "key": {"key": "properties.key", "type": "str"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
+ "offset_para_name": {"key": "offsetParaName", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.kind: str = "RegistryKey"
- self.additional_data = None
- self.friendly_name = None
- self.hive = None
- self.key = None
+ def __init__(
+ self,
+ *,
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ offset_para_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
+ :keyword offset_para_name: Offset parameter name in HTTP request.
+ :paramtype offset_para_name: str
+ """
+ super().__init__(
+ paging_type=paging_type, page_size=page_size, page_size_parameter_name=page_size_parameter_name, **kwargs
+ )
+ self.offset_para_name = offset_para_name
-class RegistryKeyEntityProperties(EntityCommonProperties):
- """RegistryKey entity property bag.
+class RestApiPollerRequestPagingTokenConfig(RestApiPollerRequestPagingConfig):
+ """The request paging configuration for NextPageToken and PersistentToken paging type parameters.
- Variables are only populated by the server, and will be ignored when sending a request.
+ All required parameters must be populated in order to send to server.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar hive: the hive that holds the registry key. Known values are: "HKEY_LOCAL_MACHINE",
- "HKEY_CLASSES_ROOT", "HKEY_CURRENT_CONFIG", "HKEY_USERS", "HKEY_CURRENT_USER_LOCAL_SETTINGS",
- "HKEY_PERFORMANCE_DATA", "HKEY_PERFORMANCE_NLSTEXT", "HKEY_PERFORMANCE_TEXT", "HKEY_A", and
- "HKEY_CURRENT_USER".
- :vartype hive: str or ~azure.mgmt.securityinsight.models.RegistryHive
- :ivar key: The registry key path.
- :vartype key: str
+ :ivar paging_type: Type of paging. Required. Known values are: "LinkHeader", "NextPageToken",
+ "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and "CountBasedPaging".
+ :vartype paging_type: str or ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :ivar page_size: Page size.
+ :vartype page_size: int
+ :ivar page_size_parameter_name: Page size parameter name.
+ :vartype page_size_parameter_name: str
+ :ivar next_page_token_json_path: JSON path of next page token in HTTP response payload.
+ :vartype next_page_token_json_path: str
+ :ivar has_next_flag_json_path: JSON path of flag in HTTP response payload to indicate more
+ pages.
+ :vartype has_next_flag_json_path: str
+ :ivar next_page_token_response_header: HTTP response header name of next page token.
+ :vartype next_page_token_response_header: str
+ :ivar next_page_para_name: Next page parameter name in HTTP request.
+ :vartype next_page_para_name: str
+ :ivar next_page_request_header: Next page header name in the request.
+ :vartype next_page_request_header: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "hive": {"readonly": True},
- "key": {"readonly": True},
+ "paging_type": {"required": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "hive": {"key": "hive", "type": "str"},
- "key": {"key": "key", "type": "str"},
+ "paging_type": {"key": "pagingType", "type": "str"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "page_size_parameter_name": {"key": "pageSizeParameterName", "type": "str"},
+ "next_page_token_json_path": {"key": "nextPageTokenJsonPath", "type": "str"},
+ "has_next_flag_json_path": {"key": "hasNextFlagJsonPath", "type": "str"},
+ "next_page_token_response_header": {"key": "nextPageTokenResponseHeader", "type": "str"},
+ "next_page_para_name": {"key": "nextPageParaName", "type": "str"},
+ "next_page_request_header": {"key": "nextPageRequestHeader", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.hive = None
- self.key = None
+ def __init__(
+ self,
+ *,
+ paging_type: Union[str, "_models.RestApiPollerRequestPagingKind"],
+ page_size: Optional[int] = None,
+ page_size_parameter_name: Optional[str] = None,
+ next_page_token_json_path: Optional[str] = None,
+ has_next_flag_json_path: Optional[str] = None,
+ next_page_token_response_header: Optional[str] = None,
+ next_page_para_name: Optional[str] = None,
+ next_page_request_header: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword paging_type: Type of paging. Required. Known values are: "LinkHeader",
+ "NextPageToken", "NextPageUrl", "PersistentToken", "PersistentLinkHeader", "Offset", and
+ "CountBasedPaging".
+ :paramtype paging_type: str or
+ ~azure.mgmt.securityinsight.models.RestApiPollerRequestPagingKind
+ :keyword page_size: Page size.
+ :paramtype page_size: int
+ :keyword page_size_parameter_name: Page size parameter name.
+ :paramtype page_size_parameter_name: str
+ :keyword next_page_token_json_path: JSON path of next page token in HTTP response payload.
+ :paramtype next_page_token_json_path: str
+ :keyword has_next_flag_json_path: JSON path of flag in HTTP response payload to indicate more
+ pages.
+ :paramtype has_next_flag_json_path: str
+ :keyword next_page_token_response_header: HTTP response header name of next page token.
+ :paramtype next_page_token_response_header: str
+ :keyword next_page_para_name: Next page parameter name in HTTP request.
+ :paramtype next_page_para_name: str
+ :keyword next_page_request_header: Next page header name in the request.
+ :paramtype next_page_request_header: str
+ """
+ super().__init__(
+ paging_type=paging_type, page_size=page_size, page_size_parameter_name=page_size_parameter_name, **kwargs
+ )
+ self.next_page_token_json_path = next_page_token_json_path
+ self.has_next_flag_json_path = has_next_flag_json_path
+ self.next_page_token_response_header = next_page_token_response_header
+ self.next_page_para_name = next_page_para_name
+ self.next_page_request_header = next_page_request_header
-class RegistryValueEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a registry value entity.
+class SystemsConfigurationConnector(_serialization.Model):
+ """Base Model for SAP System Connector.
- Variables are only populated by the server, and will be ignored when sending a request.
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ RfcConnector, SapControlConnector
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
- :vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar key_entity_id: The registry key entity id.
- :vartype key_entity_id: str
- :ivar value_data: String formatted representation of the value data.
- :vartype value_data: str
- :ivar value_name: The registry value name.
- :vartype value_name: str
- :ivar value_type: Specifies the data types to use when storing values in the registry, or
- identifies the data type of a value in the registry. Known values are: "None", "Unknown",
- "String", "ExpandString", "Binary", "DWord", "MultiString", and "QWord".
- :vartype value_type: str or ~azure.mgmt.securityinsight.models.RegistryValueKind
+ :ivar type: Represents the types of SAP systems. Required. Known values are: "Rfc" and
+ "SapControl".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.SystemConfigurationConnectorType
"""
_validation = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "key_entity_id": {"readonly": True},
- "value_data": {"readonly": True},
- "value_name": {"readonly": True},
- "value_type": {"readonly": True},
+ "type": {"required": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "key_entity_id": {"key": "properties.keyEntityId", "type": "str"},
- "value_data": {"key": "properties.valueData", "type": "str"},
- "value_name": {"key": "properties.valueName", "type": "str"},
- "value_type": {"key": "properties.valueType", "type": "str"},
}
- def __init__(self, **kwargs):
+ _subtype_map = {"type": {"Rfc": "RfcConnector", "SapControl": "SapControlConnector"}}
+
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
- self.kind: str = "RegistryValue"
- self.additional_data = None
- self.friendly_name = None
- self.key_entity_id = None
- self.value_data = None
- self.value_name = None
- self.value_type = None
+ self.type: Optional[str] = None
+
+
+class RfcConnector(SystemsConfigurationConnector):
+ """Describes the Rfc connector.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: Represents the types of SAP systems. Required. Known values are: "Rfc" and
+ "SapControl".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.SystemConfigurationConnectorType
+ :ivar abap_server_host: FQDN, hostname, or IP address of the ABAP server.
+ :vartype abap_server_host: str
+ :ivar message_server_host: FQDN, hostname, or IP address of the Message server.
+ :vartype message_server_host: str
+ :ivar group: Logon group of the message server.
+ :vartype group: str
+ :ivar message_server_service: Port number, or service name (from /etc/services) of the message
+ server.
+ :vartype message_server_service: str
+ :ivar snc_qop: SNC QOP.
+ Options are 1, 2, 3, 8, 9.
+ :vartype snc_qop: str
+ :ivar code_page: The SAP code page used for character encoding.
+ Example - 1100.
+ :vartype code_page: str
+ :ivar system_number: System number of the ABAP server. Required.
+ :vartype system_number: str
+ :ivar system_id: System ID of the ABAP server.
+ Example - A4H. Required.
+ :vartype system_id: str
+ :ivar client: Client number of the ABAP server.
+ Example - 001. Required.
+ :vartype client: str
+ :ivar authentication_type: The authentication type to SAP. Known values are:
+ "UsernamePassword", "Snc", and "SncWithUsernamePassword".
+ :vartype authentication_type: str or ~azure.mgmt.securityinsight.models.SapAuthenticationType
+ """
+ _validation = {
+ "type": {"required": True},
+ "snc_qop": {"pattern": r"^[1,2,3,8,9]$"},
+ "code_page": {"pattern": r"^(?:[a-zA-Z0-9]{4}|UTF-8)$"},
+ "system_number": {"required": True, "min_length": 1, "pattern": r"^\d{1,3}$"},
+ "system_id": {"required": True, "min_length": 1, "pattern": r"^[a-zA-Z0-9]{3}$"},
+ "client": {"required": True, "min_length": 1, "pattern": r"^[0-9]{3}$"},
+ }
-class RegistryValueEntityProperties(EntityCommonProperties):
- """RegistryValue entity property bag.
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "abap_server_host": {"key": "abapServerHost", "type": "str"},
+ "message_server_host": {"key": "messageServerHost", "type": "str"},
+ "group": {"key": "group", "type": "str"},
+ "message_server_service": {"key": "messageServerService", "type": "str"},
+ "snc_qop": {"key": "sncQop", "type": "str"},
+ "code_page": {"key": "codePage", "type": "str"},
+ "system_number": {"key": "systemNumber", "type": "str"},
+ "system_id": {"key": "systemId", "type": "str"},
+ "client": {"key": "client", "type": "str"},
+ "authentication_type": {"key": "authenticationType", "type": "str"},
+ }
- Variables are only populated by the server, and will be ignored when sending a request.
+ def __init__(
+ self,
+ *,
+ system_number: str,
+ system_id: str,
+ client: str,
+ abap_server_host: Optional[str] = None,
+ message_server_host: Optional[str] = None,
+ group: Optional[str] = None,
+ message_server_service: Optional[str] = None,
+ snc_qop: Optional[str] = None,
+ code_page: Optional[str] = None,
+ authentication_type: Optional[Union[str, "_models.SapAuthenticationType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword abap_server_host: FQDN, hostname, or IP address of the ABAP server.
+ :paramtype abap_server_host: str
+ :keyword message_server_host: FQDN, hostname, or IP address of the Message server.
+ :paramtype message_server_host: str
+ :keyword group: Logon group of the message server.
+ :paramtype group: str
+ :keyword message_server_service: Port number, or service name (from /etc/services) of the
+ message server.
+ :paramtype message_server_service: str
+ :keyword snc_qop: SNC QOP.
+ Options are 1, 2, 3, 8, 9.
+ :paramtype snc_qop: str
+ :keyword code_page: The SAP code page used for character encoding.
+ Example - 1100.
+ :paramtype code_page: str
+ :keyword system_number: System number of the ABAP server. Required.
+ :paramtype system_number: str
+ :keyword system_id: System ID of the ABAP server.
+ Example - A4H. Required.
+ :paramtype system_id: str
+ :keyword client: Client number of the ABAP server.
+ Example - 001. Required.
+ :paramtype client: str
+ :keyword authentication_type: The authentication type to SAP. Known values are:
+ "UsernamePassword", "Snc", and "SncWithUsernamePassword".
+ :paramtype authentication_type: str or ~azure.mgmt.securityinsight.models.SapAuthenticationType
+ """
+ super().__init__(**kwargs)
+ self.type: str = "Rfc"
+ self.abap_server_host = abap_server_host
+ self.message_server_host = message_server_host
+ self.group = group
+ self.message_server_service = message_server_service
+ self.snc_qop = snc_qop
+ self.code_page = code_page
+ self.system_number = system_number
+ self.system_id = system_id
+ self.client = client
+ self.authentication_type = authentication_type
+
+
+class SapAgentConfiguration(AgentConfiguration):
+ """Describes the configuration of a SAP Docker agent.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: Type of the agent. Required. "SAP"
+ :vartype type: str or ~azure.mgmt.securityinsight.models.AgentType
+ :ivar agent_container_name: The name of the docker agent.
+ only letters with numbers, underscores and hyphens are allowed
+ example: "my-agent".
+ :vartype agent_container_name: str
+ :ivar sdk_path: The SDK path (a file not a folder) on the agent machine.
+ example: "/path/to/nwrfc750P_8-70002755.zip".
+ :vartype sdk_path: str
+ :ivar snc_path: The SNC path (a folder not a file) on the agent machine.
+ example: "/path/to/snc".
+ :vartype snc_path: str
+ :ivar key_vault_resource_id: The key vault resource id to access the key vault.
+ example:
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault". # pylint: disable=line-too-long
+ :vartype key_vault_resource_id: str
+ :ivar key_vault_authentication_mode: The key mode of the agent.
+ ManagedIdentity|ApplicationIdentity are the options. Known values are: "ManagedIdentity" and
+ "ServicePrincipal".
+ :vartype key_vault_authentication_mode: str or
+ ~azure.mgmt.securityinsight.models.KeyVaultAuthenticationMode
+ :ivar secret_source: The secret source of the agent.
+ AzureKeyVault is the option. "AzureKeyVault"
+ :vartype secret_source: str or ~azure.mgmt.securityinsight.models.SecretSource
+ """
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar key_entity_id: The registry key entity id.
- :vartype key_entity_id: str
- :ivar value_data: String formatted representation of the value data.
- :vartype value_data: str
- :ivar value_name: The registry value name.
- :vartype value_name: str
- :ivar value_type: Specifies the data types to use when storing values in the registry, or
- identifies the data type of a value in the registry. Known values are: "None", "Unknown",
- "String", "ExpandString", "Binary", "DWord", "MultiString", and "QWord".
- :vartype value_type: str or ~azure.mgmt.securityinsight.models.RegistryValueKind
+ _validation = {
+ "type": {"required": True},
+ "agent_container_name": {"pattern": r"^[a-zA-Z0-9][a-zA-Z0-9_-]*$"},
+ "sdk_path": {
+ "pattern": r'^/(([^/]+/)*nwrfc75.*\.zip$)|^((?:[a-zA-Z]:)?(?:\\|\\\\)(?:[^\\/:*?"<>|\r\n]+\\)*nwrfc75.*\.zip)$'
+ },
+ "snc_path": {
+ "pattern": r'^\/(?:[^/]+\/)*[^/]+$|^(?:[a-zA-Z]:)?(?:\\|\\\\)(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$'
+ },
+ "key_vault_resource_id": {
+ "pattern": r"^\/?subscriptions\/([^\/]+)\/resourceGroups\/([^\/]+)\/providers\/Microsoft\.KeyVault\/vaults\/([^\/]+)$"
+ },
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "agent_container_name": {"key": "agentContainerName", "type": "str"},
+ "sdk_path": {"key": "sdkPath", "type": "str"},
+ "snc_path": {"key": "sncPath", "type": "str"},
+ "key_vault_resource_id": {"key": "keyVaultResourceId", "type": "str"},
+ "key_vault_authentication_mode": {"key": "keyVaultAuthenticationMode", "type": "str"},
+ "secret_source": {"key": "secretSource", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ agent_container_name: Optional[str] = None,
+ sdk_path: Optional[str] = None,
+ snc_path: Optional[str] = None,
+ key_vault_resource_id: Optional[str] = None,
+ key_vault_authentication_mode: Optional[Union[str, "_models.KeyVaultAuthenticationMode"]] = None,
+ secret_source: Optional[Union[str, "_models.SecretSource"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword agent_container_name: The name of the docker agent.
+ only letters with numbers, underscores and hyphens are allowed
+ example: "my-agent".
+ :paramtype agent_container_name: str
+ :keyword sdk_path: The SDK path (a file not a folder) on the agent machine.
+ example: "/path/to/nwrfc750P_8-70002755.zip".
+ :paramtype sdk_path: str
+ :keyword snc_path: The SNC path (a folder not a file) on the agent machine.
+ example: "/path/to/snc".
+ :paramtype snc_path: str
+ :keyword key_vault_resource_id: The key vault resource id to access the key vault.
+ example:
+ "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault". # pylint: disable=line-too-long
+ :paramtype key_vault_resource_id: str
+ :keyword key_vault_authentication_mode: The key mode of the agent.
+ ManagedIdentity|ApplicationIdentity are the options. Known values are: "ManagedIdentity" and
+ "ServicePrincipal".
+ :paramtype key_vault_authentication_mode: str or
+ ~azure.mgmt.securityinsight.models.KeyVaultAuthenticationMode
+ :keyword secret_source: The secret source of the agent.
+ AzureKeyVault is the option. "AzureKeyVault"
+ :paramtype secret_source: str or ~azure.mgmt.securityinsight.models.SecretSource
+ """
+ super().__init__(**kwargs)
+ self.type: str = "SAP"
+ self.agent_container_name = agent_container_name
+ self.sdk_path = sdk_path
+ self.snc_path = snc_path
+ self.key_vault_resource_id = key_vault_resource_id
+ self.key_vault_authentication_mode = key_vault_authentication_mode
+ self.secret_source = secret_source
+
+
+class SapControlConnector(SystemsConfigurationConnector):
+ """Describes the SapControl connector configuration.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: Represents the types of SAP systems. Required. Known values are: "Rfc" and
+ "SapControl".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.SystemConfigurationConnectorType
+ :ivar server: The server name.
+ FQDN or IP address. Required.
+ :vartype server: str
+ :ivar instance: The instance number. Only 2 digits are allowed. Required.
+ :vartype instance: str
+ :ivar timezone: The timezone.
+ example: "GMT+0" or "GMT-8"
+ default: "GMT+0".
+ :vartype timezone: str
+ :ivar port: The port of the SOAP connection to SAP Control.
+ :vartype port: str
+ :ivar https_configuration: Represents the types of HTTPS configuration to connect to the
+ SapControl service. Known values are: "HttpOnly", "HttpsWithSslVerification", and
+ "HttpsWithoutSslVerification".
+ :vartype https_configuration: str or ~azure.mgmt.securityinsight.models.HttpsConfigurationType
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "key_entity_id": {"readonly": True},
- "value_data": {"readonly": True},
- "value_name": {"readonly": True},
- "value_type": {"readonly": True},
+ "type": {"required": True},
+ "server": {
+ "required": True,
+ "min_length": 1,
+ "pattern": r"^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\.)+[a-zA-Z]{2,}$|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$",
+ },
+ "instance": {"required": True, "min_length": 1, "pattern": r"^\d{2}$"},
+ "timezone": {"pattern": r"^GMT[+-]\d+$"},
+ "port": {"pattern": r"^\d{1,5}$"},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "key_entity_id": {"key": "keyEntityId", "type": "str"},
- "value_data": {"key": "valueData", "type": "str"},
- "value_name": {"key": "valueName", "type": "str"},
- "value_type": {"key": "valueType", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "server": {"key": "server", "type": "str"},
+ "instance": {"key": "instance", "type": "str"},
+ "timezone": {"key": "timezone", "type": "str"},
+ "port": {"key": "port", "type": "str"},
+ "https_configuration": {"key": "httpsConfiguration", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.key_entity_id = None
- self.value_data = None
- self.value_name = None
- self.value_type = None
+ def __init__(
+ self,
+ *,
+ server: str,
+ instance: str,
+ timezone: str = "GMT+0",
+ port: Optional[str] = None,
+ https_configuration: Optional[Union[str, "_models.HttpsConfigurationType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword server: The server name.
+ FQDN or IP address. Required.
+ :paramtype server: str
+ :keyword instance: The instance number. Only 2 digits are allowed. Required.
+ :paramtype instance: str
+ :keyword timezone: The timezone.
+ example: "GMT+0" or "GMT-8"
+ default: "GMT+0".
+ :paramtype timezone: str
+ :keyword port: The port of the SOAP connection to SAP Control.
+ :paramtype port: str
+ :keyword https_configuration: Represents the types of HTTPS configuration to connect to the
+ SapControl service. Known values are: "HttpOnly", "HttpsWithSslVerification", and
+ "HttpsWithoutSslVerification".
+ :paramtype https_configuration: str or
+ ~azure.mgmt.securityinsight.models.HttpsConfigurationType
+ """
+ super().__init__(**kwargs)
+ self.type: str = "SapControl"
+ self.server = server
+ self.instance = instance
+ self.timezone = timezone
+ self.port = port
+ self.https_configuration = https_configuration
-class Relation(ResourceWithEtag):
- """Represents a relation between two resources.
+class SapSolutionUsageStatistic(BillingStatistic):
+ """Billing statistic about the Microsoft Sentinel solution for SAP Usage.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -18576,16 +25848,13 @@ class Relation(ResourceWithEtag):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
+ :ivar etag: Resource Etag.
:vartype etag: str
- :ivar related_resource_id: The resource ID of the related resource.
- :vartype related_resource_id: str
- :ivar related_resource_name: The name of the related resource.
- :vartype related_resource_name: str
- :ivar related_resource_type: The resource type of the related resource.
- :vartype related_resource_type: str
- :ivar related_resource_kind: The resource kind of the related resource.
- :vartype related_resource_kind: str
+ :ivar kind: The kind of the billing statistic. Required. "SapSolutionUsage"
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.BillingStatisticKind
+ :ivar active_system_id_count: The latest count of active SAP system IDs under the Microsoft
+ Sentinel solution for SAP Usage.
+ :vartype active_system_id_count: int
"""
_validation = {
@@ -18593,9 +25862,9 @@ class Relation(ResourceWithEtag):
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
- "related_resource_name": {"readonly": True},
- "related_resource_type": {"readonly": True},
- "related_resource_kind": {"readonly": True},
+ "etag": {"readonly": True},
+ "kind": {"required": True},
+ "active_system_id_count": {"readonly": True},
}
_attribute_map = {
@@ -18604,281 +25873,111 @@ class Relation(ResourceWithEtag):
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "related_resource_id": {"key": "properties.relatedResourceId", "type": "str"},
- "related_resource_name": {"key": "properties.relatedResourceName", "type": "str"},
- "related_resource_type": {"key": "properties.relatedResourceType", "type": "str"},
- "related_resource_kind": {"key": "properties.relatedResourceKind", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "active_system_id_count": {"key": "properties.activeSystemIdCount", "type": "int"},
}
- def __init__(self, *, etag: Optional[str] = None, related_resource_id: Optional[str] = None, **kwargs):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword related_resource_id: The resource ID of the related resource.
- :paramtype related_resource_id: str
- """
- super().__init__(etag=etag, **kwargs)
- self.related_resource_id = related_resource_id
- self.related_resource_name = None
- self.related_resource_type = None
- self.related_resource_kind = None
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "SapSolutionUsage"
+ self.active_system_id_count = None
-class RelationList(_serialization.Model):
- """List of relations.
+class SystemsConfiguration(_serialization.Model):
+ """The configuration of the system.
- Variables are only populated by the server, and will be ignored when sending a request.
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ SapSystemsConfiguration
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of relations.
- :vartype next_link: str
- :ivar value: Array of relations. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Relation]
+ :ivar type: Represents the types of configuration for a system. Required. "SAP"
+ :vartype type: str or ~azure.mgmt.securityinsight.models.ConfigurationType
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
+ "type": {"required": True},
}
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[Relation]"},
+ "type": {"key": "type", "type": "str"},
}
- def __init__(self, *, value: List["_models.Relation"], **kwargs):
- """
- :keyword value: Array of relations. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Relation]
- """
- super().__init__(**kwargs)
- self.next_link = None
- self.value = value
-
-
-class Repo(_serialization.Model):
- """Represents a repository.
-
- :ivar url: The url to access the repository.
- :vartype url: str
- :ivar full_name: The name of the repository.
- :vartype full_name: str
- :ivar branches: Array of branches.
- :vartype branches: list[str]
- """
-
- _attribute_map = {
- "url": {"key": "url", "type": "str"},
- "full_name": {"key": "fullName", "type": "str"},
- "branches": {"key": "branches", "type": "[str]"},
- }
+ _subtype_map = {"type": {"SAP": "SapSystemsConfiguration"}}
- def __init__(
- self,
- *,
- url: Optional[str] = None,
- full_name: Optional[str] = None,
- branches: Optional[List[str]] = None,
- **kwargs
- ):
- """
- :keyword url: The url to access the repository.
- :paramtype url: str
- :keyword full_name: The name of the repository.
- :paramtype full_name: str
- :keyword branches: Array of branches.
- :paramtype branches: list[str]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.url = url
- self.full_name = full_name
- self.branches = branches
-
+ self.type: Optional[str] = None
-class RepoList(_serialization.Model):
- """List all the source controls.
- Variables are only populated by the server, and will be ignored when sending a request.
+class SapSystemsConfiguration(SystemsConfiguration):
+ """Describes the SAP configuration.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of repositories.
- :vartype next_link: str
- :ivar value: Array of repositories. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Repo]
+ :ivar type: Represents the types of configuration for a system. Required. "SAP"
+ :vartype type: str or ~azure.mgmt.securityinsight.models.ConfigurationType
+ :ivar azure_resource_id: azure resource id
+ example:
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM". # pylint: disable=line-too-long
+ :vartype azure_resource_id: str
+ :ivar connector: Base Model for SAP System Connector. Required.
+ :vartype connector: ~azure.mgmt.securityinsight.models.SystemsConfigurationConnector
+ :ivar logs: The logs configuration.
+ :vartype logs: list[~azure.mgmt.securityinsight.models.Log]
"""
_validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
- }
-
- _attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[Repo]"},
- }
-
- def __init__(self, *, value: List["_models.Repo"], **kwargs):
- """
- :keyword value: Array of repositories. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Repo]
- """
- super().__init__(**kwargs)
- self.next_link = None
- self.value = value
-
-
-class Repository(_serialization.Model):
- """metadata of a repository.
-
- :ivar url: Url of repository.
- :vartype url: str
- :ivar branch: Branch name of repository.
- :vartype branch: str
- :ivar display_url: Display url of repository.
- :vartype display_url: str
- :ivar deployment_logs_url: Url to access repository action logs.
- :vartype deployment_logs_url: str
- :ivar path_mapping: Dictionary of source control content type and path mapping.
- :vartype path_mapping: list[~azure.mgmt.securityinsight.models.ContentPathMap]
- """
-
- _attribute_map = {
- "url": {"key": "url", "type": "str"},
- "branch": {"key": "branch", "type": "str"},
- "display_url": {"key": "displayUrl", "type": "str"},
- "deployment_logs_url": {"key": "deploymentLogsUrl", "type": "str"},
- "path_mapping": {"key": "pathMapping", "type": "[ContentPathMap]"},
- }
-
- def __init__(
- self,
- *,
- url: Optional[str] = None,
- branch: Optional[str] = None,
- display_url: Optional[str] = None,
- deployment_logs_url: Optional[str] = None,
- path_mapping: Optional[List["_models.ContentPathMap"]] = None,
- **kwargs
- ):
- """
- :keyword url: Url of repository.
- :paramtype url: str
- :keyword branch: Branch name of repository.
- :paramtype branch: str
- :keyword display_url: Display url of repository.
- :paramtype display_url: str
- :keyword deployment_logs_url: Url to access repository action logs.
- :paramtype deployment_logs_url: str
- :keyword path_mapping: Dictionary of source control content type and path mapping.
- :paramtype path_mapping: list[~azure.mgmt.securityinsight.models.ContentPathMap]
- """
- super().__init__(**kwargs)
- self.url = url
- self.branch = branch
- self.display_url = display_url
- self.deployment_logs_url = deployment_logs_url
- self.path_mapping = path_mapping
-
-
-class RepositoryResourceInfo(_serialization.Model):
- """Resources created in user's repository for the source-control.
-
- :ivar webhook: The webhook object created for the source-control.
- :vartype webhook: ~azure.mgmt.securityinsight.models.Webhook
- :ivar git_hub_resource_info: Resources created in GitHub for this source-control.
- :vartype git_hub_resource_info: ~azure.mgmt.securityinsight.models.GitHubResourceInfo
- :ivar azure_dev_ops_resource_info: Resources created in Azure DevOps for this source-control.
- :vartype azure_dev_ops_resource_info:
- ~azure.mgmt.securityinsight.models.AzureDevOpsResourceInfo
- """
-
- _attribute_map = {
- "webhook": {"key": "webhook", "type": "Webhook"},
- "git_hub_resource_info": {"key": "gitHubResourceInfo", "type": "GitHubResourceInfo"},
- "azure_dev_ops_resource_info": {"key": "azureDevOpsResourceInfo", "type": "AzureDevOpsResourceInfo"},
+ "type": {"required": True},
+ "azure_resource_id": {
+ "pattern": r"^\/?subscriptions\/([^\/]+)\/resourceGroups\/([^\/]+)\/providers\/([^\/]+)\/([^\/]+)\/([^\/]+)$"
+ },
+ "connector": {"required": True},
}
- def __init__(
- self,
- *,
- webhook: Optional["_models.Webhook"] = None,
- git_hub_resource_info: Optional["_models.GitHubResourceInfo"] = None,
- azure_dev_ops_resource_info: Optional["_models.AzureDevOpsResourceInfo"] = None,
- **kwargs
- ):
- """
- :keyword webhook: The webhook object created for the source-control.
- :paramtype webhook: ~azure.mgmt.securityinsight.models.Webhook
- :keyword git_hub_resource_info: Resources created in GitHub for this source-control.
- :paramtype git_hub_resource_info: ~azure.mgmt.securityinsight.models.GitHubResourceInfo
- :keyword azure_dev_ops_resource_info: Resources created in Azure DevOps for this
- source-control.
- :paramtype azure_dev_ops_resource_info:
- ~azure.mgmt.securityinsight.models.AzureDevOpsResourceInfo
- """
- super().__init__(**kwargs)
- self.webhook = webhook
- self.git_hub_resource_info = git_hub_resource_info
- self.azure_dev_ops_resource_info = azure_dev_ops_resource_info
-
-
-class RequiredPermissions(_serialization.Model):
- """Required permissions for the connector.
-
- :ivar action: action permission.
- :vartype action: bool
- :ivar write: write permission.
- :vartype write: bool
- :ivar read: read permission.
- :vartype read: bool
- :ivar delete: delete permission.
- :vartype delete: bool
- """
-
_attribute_map = {
- "action": {"key": "action", "type": "bool"},
- "write": {"key": "write", "type": "bool"},
- "read": {"key": "read", "type": "bool"},
- "delete": {"key": "delete", "type": "bool"},
+ "type": {"key": "type", "type": "str"},
+ "azure_resource_id": {"key": "azureResourceId", "type": "str"},
+ "connector": {"key": "connector", "type": "SystemsConfigurationConnector"},
+ "logs": {"key": "logs", "type": "[Log]"},
}
def __init__(
self,
*,
- action: Optional[bool] = None,
- write: Optional[bool] = None,
- read: Optional[bool] = None,
- delete: Optional[bool] = None,
- **kwargs
- ):
- """
- :keyword action: action permission.
- :paramtype action: bool
- :keyword write: write permission.
- :paramtype write: bool
- :keyword read: read permission.
- :paramtype read: bool
- :keyword delete: delete permission.
- :paramtype delete: bool
+ connector: "_models.SystemsConfigurationConnector",
+ azure_resource_id: Optional[str] = None,
+ logs: Optional[List["_models.Log"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword azure_resource_id: azure resource id
+ example:
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM". # pylint: disable=line-too-long
+ :paramtype azure_resource_id: str
+ :keyword connector: Base Model for SAP System Connector. Required.
+ :paramtype connector: ~azure.mgmt.securityinsight.models.SystemsConfigurationConnector
+ :keyword logs: The logs configuration.
+ :paramtype logs: list[~azure.mgmt.securityinsight.models.Log]
"""
super().__init__(**kwargs)
- self.action = action
- self.write = write
- self.read = read
- self.delete = delete
+ self.type: str = "SAP"
+ self.azure_resource_id = azure_resource_id
+ self.connector = connector
+ self.logs = logs
-class ScheduledAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
+class ScheduledAlertRule(AlertRule):
"""Represents scheduled alert rule.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -18943,6 +26042,8 @@ class ScheduledAlertRule(AlertRule): # pylint: disable=too-many-instance-attrib
:vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:ivar techniques: The techniques of the alert rule.
:vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
:ivar incident_configuration: The settings of the incidents that created from alerts triggered
by this analytics rule.
:vartype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
@@ -18985,6 +26086,7 @@ class ScheduledAlertRule(AlertRule): # pylint: disable=too-many-instance-attrib
"suppression_enabled": {"key": "properties.suppressionEnabled", "type": "bool"},
"tactics": {"key": "properties.tactics", "type": "[str]"},
"techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
"incident_configuration": {"key": "properties.incidentConfiguration", "type": "IncidentConfiguration"},
}
@@ -19012,9 +26114,10 @@ def __init__( # pylint: disable=too-many-locals
suppression_enabled: Optional[bool] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
+ sub_techniques: Optional[List[str]] = None,
incident_configuration: Optional["_models.IncidentConfiguration"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -19067,6 +26170,8 @@ def __init__( # pylint: disable=too-many-locals
:paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:keyword techniques: The techniques of the alert rule.
:paramtype techniques: list[str]
+ :keyword sub_techniques: The sub-techniques of the alert rule.
+ :paramtype sub_techniques: list[str]
:keyword incident_configuration: The settings of the incidents that created from alerts
triggered by this analytics rule.
:paramtype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
@@ -19094,10 +26199,11 @@ def __init__( # pylint: disable=too-many-locals
self.suppression_enabled = suppression_enabled
self.tactics = tactics
self.techniques = techniques
+ self.sub_techniques = sub_techniques
self.incident_configuration = incident_configuration
-class ScheduledAlertRuleCommonProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes
+class ScheduledAlertRuleCommonProperties(_serialization.Model):
"""Scheduled alert rule template property bag.
:ivar query: The query that creates alerts for this rule.
@@ -19156,8 +26262,8 @@ def __init__(
entity_mappings: Optional[List["_models.EntityMapping"]] = None,
alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword query: The query that creates alerts for this rule.
:paramtype query: str
@@ -19201,12 +26307,12 @@ def __init__(
self.sentinel_entities_mappings = sentinel_entities_mappings
-class ScheduledAlertRuleProperties(ScheduledAlertRuleCommonProperties): # pylint: disable=too-many-instance-attributes
+class ScheduledAlertRuleProperties(ScheduledAlertRuleCommonProperties):
"""Scheduled alert rule base property bag.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar query: The query that creates alerts for this rule.
:vartype query: str
@@ -19257,6 +26363,8 @@ class ScheduledAlertRuleProperties(ScheduledAlertRuleCommonProperties): # pylin
:vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:ivar techniques: The techniques of the alert rule.
:vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
:ivar incident_configuration: The settings of the incidents that created from alerts triggered
by this analytics rule.
:vartype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
@@ -19292,6 +26400,7 @@ class ScheduledAlertRuleProperties(ScheduledAlertRuleCommonProperties): # pylin
"suppression_enabled": {"key": "suppressionEnabled", "type": "bool"},
"tactics": {"key": "tactics", "type": "[str]"},
"techniques": {"key": "techniques", "type": "[str]"},
+ "sub_techniques": {"key": "subTechniques", "type": "[str]"},
"incident_configuration": {"key": "incidentConfiguration", "type": "IncidentConfiguration"},
}
@@ -19318,9 +26427,10 @@ def __init__(
description: Optional[str] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
+ sub_techniques: Optional[List[str]] = None,
incident_configuration: Optional["_models.IncidentConfiguration"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword query: The query that creates alerts for this rule.
:paramtype query: str
@@ -19371,6 +26481,8 @@ def __init__(
:paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:keyword techniques: The techniques of the alert rule.
:paramtype techniques: list[str]
+ :keyword sub_techniques: The sub-techniques of the alert rule.
+ :paramtype sub_techniques: list[str]
:keyword incident_configuration: The settings of the incidents that created from alerts
triggered by this analytics rule.
:paramtype incident_configuration: ~azure.mgmt.securityinsight.models.IncidentConfiguration
@@ -19399,18 +26511,19 @@ def __init__(
self.suppression_enabled = suppression_enabled
self.tactics = tactics
self.techniques = techniques
+ self.sub_techniques = sub_techniques
self.incident_configuration = incident_configuration
-class ScheduledAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-instance-attributes
+class ScheduledAlertRuleTemplate(AlertRuleTemplate):
"""Represents scheduled alert rule template.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -19459,6 +26572,8 @@ class ScheduledAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many
:vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:ivar techniques: The techniques of the alert rule.
:vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
:ivar version: The version of this template - in format , where all are numbers. For
example <1.0.2>.
:vartype version: str
@@ -19510,6 +26625,7 @@ class ScheduledAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many
"trigger_threshold": {"key": "properties.triggerThreshold", "type": "int"},
"tactics": {"key": "properties.tactics", "type": "[str]"},
"techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
"version": {"key": "properties.version", "type": "str"},
"event_grouping_settings": {"key": "properties.eventGroupingSettings", "type": "EventGroupingSettings"},
"custom_details": {"key": "properties.customDetails", "type": "{str}"},
@@ -19534,14 +26650,15 @@ def __init__( # pylint: disable=too-many-locals
trigger_threshold: Optional[int] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
+ sub_techniques: Optional[List[str]] = None,
version: Optional[str] = None,
event_grouping_settings: Optional["_models.EventGroupingSettings"] = None,
custom_details: Optional[Dict[str, str]] = None,
entity_mappings: Optional[List["_models.EntityMapping"]] = None,
alert_details_override: Optional["_models.AlertDetailsOverride"] = None,
sentinel_entities_mappings: Optional[List["_models.SentinelEntityMapping"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -19575,6 +26692,8 @@ def __init__( # pylint: disable=too-many-locals
:paramtype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:keyword techniques: The techniques of the alert rule.
:paramtype techniques: list[str]
+ :keyword sub_techniques: The sub-techniques of the alert rule.
+ :paramtype sub_techniques: list[str]
:keyword version: The version of this template - in format , where all are numbers. For
example <1.0.2>.
:paramtype version: str
@@ -19608,6 +26727,7 @@ def __init__( # pylint: disable=too-many-locals
self.trigger_threshold = trigger_threshold
self.tactics = tactics
self.techniques = techniques
+ self.sub_techniques = sub_techniques
self.version = version
self.event_grouping_settings = event_grouping_settings
self.custom_details = custom_details
@@ -19616,15 +26736,15 @@ def __init__( # pylint: disable=too-many-locals
self.sentinel_entities_mappings = sentinel_entities_mappings
-class SecurityAlert(Entity): # pylint: disable=too-many-instance-attributes
+class SecurityAlert(Entity):
"""Represents a security alert entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -19638,7 +26758,7 @@ class SecurityAlert(Entity): # pylint: disable=too-many-instance-attributes
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -19784,8 +26904,8 @@ class SecurityAlert(Entity): # pylint: disable=too-many-instance-attributes
}
def __init__( # pylint: disable=too-many-locals
- self, *, severity: Optional[Union[str, "_models.AlertSeverity"]] = None, **kwargs
- ):
+ self, *, severity: Optional[Union[str, "_models.AlertSeverity"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword severity: The severity of the alert. Known values are: "High", "Medium", "Low", and
"Informational".
@@ -19822,7 +26942,7 @@ def __init__( # pylint: disable=too-many-locals
self.resource_identifiers = None
-class SecurityAlertProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
+class SecurityAlertProperties(EntityCommonProperties):
"""SecurityAlert entity property bag.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -19959,8 +27079,8 @@ class SecurityAlertProperties(EntityCommonProperties): # pylint: disable=too-ma
}
def __init__( # pylint: disable=too-many-locals
- self, *, severity: Optional[Union[str, "_models.AlertSeverity"]] = None, **kwargs
- ):
+ self, *, severity: Optional[Union[str, "_models.AlertSeverity"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword severity: The severity of the alert. Known values are: "High", "Medium", "Low", and
"Informational".
@@ -19994,7 +27114,7 @@ def __init__( # pylint: disable=too-many-locals
self.resource_identifiers = None
-class SecurityAlertPropertiesConfidenceReasonsItem(_serialization.Model):
+class SecurityAlertPropertiesConfidenceReasonsItem(_serialization.Model): # pylint: disable=name-too-long
"""confidence reason item.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -20015,19 +27135,19 @@ class SecurityAlertPropertiesConfidenceReasonsItem(_serialization.Model):
"reason_type": {"key": "reasonType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.reason = None
self.reason_type = None
-class SecurityAlertTimelineItem(EntityTimelineItem): # pylint: disable=too-many-instance-attributes
+class SecurityAlertTimelineItem(EntityTimelineItem):
"""Represents security alert timeline item.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: The entity query kind type. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -20100,8 +27220,8 @@ def __init__(
product_name: Optional[str] = None,
description: Optional[str] = None,
techniques: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword azure_resource_id: The alert azure resource id. Required.
:paramtype azure_resource_id: str
@@ -20145,10 +27265,10 @@ class SecurityGroupEntity(Entity):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -20162,7 +27282,7 @@ class SecurityGroupEntity(Entity):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -20205,7 +27325,7 @@ class SecurityGroupEntity(Entity):
"sid": {"key": "properties.sid", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "SecurityGroup"
@@ -20253,7 +27373,7 @@ class SecurityGroupEntityProperties(EntityCommonProperties):
"sid": {"key": "sid", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.distinguished_name = None
@@ -20275,29 +27395,458 @@ class SecurityMLAnalyticsSettingsDataSource(_serialization.Model):
"data_types": {"key": "dataTypes", "type": "[str]"},
}
- def __init__(self, *, connector_id: Optional[str] = None, data_types: Optional[List[str]] = None, **kwargs):
+ def __init__(
+ self, *, connector_id: Optional[str] = None, data_types: Optional[List[str]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword connector_id: The connector id that provides the following data types.
+ :paramtype connector_id: str
+ :keyword data_types: The data types used by the security ml analytics settings.
+ :paramtype data_types: list[str]
+ """
+ super().__init__(**kwargs)
+ self.connector_id = connector_id
+ self.data_types = data_types
+
+
+class SecurityMLAnalyticsSettingsList(_serialization.Model):
+ """List all the SecurityMLAnalyticsSettings.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of SecurityMLAnalyticsSettings.
+ :vartype next_link: str
+ :ivar value: Array of SecurityMLAnalyticsSettings. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[SecurityMLAnalyticsSetting]"},
+ }
+
+ def __init__(self, *, value: List["_models.SecurityMLAnalyticsSetting"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of SecurityMLAnalyticsSettings. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class SentinelEntityMapping(_serialization.Model):
+ """A single sentinel entity mapping.
+
+ :ivar column_name: the column name to be mapped to the SentinelEntities.
+ :vartype column_name: str
+ """
+
+ _attribute_map = {
+ "column_name": {"key": "columnName", "type": "str"},
+ }
+
+ def __init__(self, *, column_name: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword column_name: the column name to be mapped to the SentinelEntities.
+ :paramtype column_name: str
+ """
+ super().__init__(**kwargs)
+ self.column_name = column_name
+
+
+class SentinelOnboardingState(ResourceWithEtag):
+ """Sentinel onboarding state.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar customer_managed_key: Flag that indicates the status of the CMK setting.
+ :vartype customer_managed_key: bool
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "customer_managed_key": {"key": "properties.customerManagedKey", "type": "bool"},
+ }
+
+ def __init__(
+ self, *, etag: Optional[str] = None, customer_managed_key: Optional[bool] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword customer_managed_key: Flag that indicates the status of the CMK setting.
+ :paramtype customer_managed_key: bool
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.customer_managed_key = customer_managed_key
+
+
+class SentinelOnboardingStatesList(_serialization.Model):
+ """List of the Sentinel onboarding states.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of Sentinel onboarding states. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.SentinelOnboardingState]
+ """
+
+ _validation = {
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[SentinelOnboardingState]"},
+ }
+
+ def __init__(self, *, value: List["_models.SentinelOnboardingState"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of Sentinel onboarding states. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.SentinelOnboardingState]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+
+
+class ServicePrincipal(_serialization.Model):
+ """Service principal metadata.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Id of service principal.
+ :vartype id: str
+ :ivar tenant_id: Tenant id of service principal.
+ :vartype tenant_id: str
+ :ivar app_id: App id of service principal.
+ :vartype app_id: str
+ :ivar credentials_expire_on: Expiration time of service principal credentials.
+ :vartype credentials_expire_on: ~datetime.datetime
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "tenant_id": {"readonly": True},
+ "app_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "app_id": {"key": "appId", "type": "str"},
+ "credentials_expire_on": {"key": "credentialsExpireOn", "type": "iso-8601"},
+ }
+
+ def __init__(self, *, credentials_expire_on: Optional[datetime.datetime] = None, **kwargs: Any) -> None:
+ """
+ :keyword credentials_expire_on: Expiration time of service principal credentials.
+ :paramtype credentials_expire_on: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.id = None
+ self.tenant_id = None
+ self.app_id = None
+ self.credentials_expire_on = credentials_expire_on
+
+
+class SessionAuthModel(CcpAuthConfig):
+ """Model for API authentication with session cookie.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar type: The auth type. Required. Known values are: "Basic", "APIKey", "OAuth2", "AWS",
+ "GCP", "Session", "JwtToken", "GitHub", "ServiceBus", "Oracle", and "None".
+ :vartype type: str or ~azure.mgmt.securityinsight.models.CcpAuthType
+ :ivar user_name: The user name attribute key value. Required.
+ :vartype user_name: dict[str, str]
+ :ivar password: The password attribute name. Required.
+ :vartype password: dict[str, str]
+ :ivar query_parameters: Query parameters to session service endpoint.
+ :vartype query_parameters: dict[str, any]
+ :ivar is_post_payload_json: Indicating whether API key is set in HTTP POST payload.
+ :vartype is_post_payload_json: bool
+ :ivar headers: HTTP request headers to session service endpoint.
+ :vartype headers: dict[str, str]
+ :ivar session_timeout_in_minutes: Session timeout in minutes.
+ :vartype session_timeout_in_minutes: int
+ :ivar session_id_name: Session id attribute name from HTTP response header.
+ :vartype session_id_name: str
+ :ivar session_login_request_uri: HTTP request URL to session service endpoint.
+ :vartype session_login_request_uri: str
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "user_name": {"required": True},
+ "password": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "user_name": {"key": "userName", "type": "{str}"},
+ "password": {"key": "password", "type": "{str}"},
+ "query_parameters": {"key": "queryParameters", "type": "{object}"},
+ "is_post_payload_json": {"key": "isPostPayloadJson", "type": "bool"},
+ "headers": {"key": "headers", "type": "{str}"},
+ "session_timeout_in_minutes": {"key": "sessionTimeoutInMinutes", "type": "int"},
+ "session_id_name": {"key": "sessionIdName", "type": "str"},
+ "session_login_request_uri": {"key": "sessionLoginRequestUri", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_name: Dict[str, str],
+ password: Dict[str, str],
+ query_parameters: Optional[Dict[str, Any]] = None,
+ is_post_payload_json: Optional[bool] = None,
+ headers: Optional[Dict[str, str]] = None,
+ session_timeout_in_minutes: Optional[int] = None,
+ session_id_name: Optional[str] = None,
+ session_login_request_uri: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword user_name: The user name attribute key value. Required.
+ :paramtype user_name: dict[str, str]
+ :keyword password: The password attribute name. Required.
+ :paramtype password: dict[str, str]
+ :keyword query_parameters: Query parameters to session service endpoint.
+ :paramtype query_parameters: dict[str, any]
+ :keyword is_post_payload_json: Indicating whether API key is set in HTTP POST payload.
+ :paramtype is_post_payload_json: bool
+ :keyword headers: HTTP request headers to session service endpoint.
+ :paramtype headers: dict[str, str]
+ :keyword session_timeout_in_minutes: Session timeout in minutes.
+ :paramtype session_timeout_in_minutes: int
+ :keyword session_id_name: Session id attribute name from HTTP response header.
+ :paramtype session_id_name: str
+ :keyword session_login_request_uri: HTTP request URL to session service endpoint.
+ :paramtype session_login_request_uri: str
+ """
+ super().__init__(**kwargs)
+ self.type: str = "Session"
+ self.user_name = user_name
+ self.password = password
+ self.query_parameters = query_parameters
+ self.is_post_payload_json = is_post_payload_json
+ self.headers = headers
+ self.session_timeout_in_minutes = session_timeout_in_minutes
+ self.session_id_name = session_id_name
+ self.session_login_request_uri = session_login_request_uri
+
+
+class SettingList(_serialization.Model):
+ """List of all the settings.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of settings. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Settings]
+ :ivar next_link: URL to fetch the next set of settings.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[Settings]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.Settings"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of settings. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Settings]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class SourceControl(ResourceWithEtag):
+ """Represents a SourceControl in Azure Security Insights.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar id_properties_id: The id (a Guid) of the source control.
+ :vartype id_properties_id: str
+ :ivar version: The version number associated with the source control. Known values are: "V1"
+ and "V2".
+ :vartype version: str or ~azure.mgmt.securityinsight.models.Version
+ :ivar display_name: The display name of the source control. Required.
+ :vartype display_name: str
+ :ivar description: A description of the source control.
+ :vartype description: str
+ :ivar repo_type: The repository type of the source control. Required. Known values are:
+ "Github" and "AzureDevOps".
+ :vartype repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
+ :ivar content_types: Array of source control content types. Required.
+ :vartype content_types: list[str or ~azure.mgmt.securityinsight.models.ContentType]
+ :ivar repository: Repository metadata. Required.
+ :vartype repository: ~azure.mgmt.securityinsight.models.Repository
+ :ivar service_principal: Service principal metadata.
+ :vartype service_principal: ~azure.mgmt.securityinsight.models.ServicePrincipal
+ :ivar repository_access: Repository access credentials. This is write-only object and it never
+ returns back to a user.
+ :vartype repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccess
+ :ivar repository_resource_info: Information regarding the resources created in user's
+ repository.
+ :vartype repository_resource_info: ~azure.mgmt.securityinsight.models.RepositoryResourceInfo
+ :ivar last_deployment_info: Information regarding the latest deployment for the source control.
+ :vartype last_deployment_info: ~azure.mgmt.securityinsight.models.DeploymentInfo
+ :ivar pull_request: Information regarding the pull request of the source control.
+ :vartype pull_request: ~azure.mgmt.securityinsight.models.PullRequest
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "id_properties_id": {"readonly": True},
+ "version": {"readonly": True},
+ "display_name": {"required": True},
+ "repo_type": {"required": True},
+ "content_types": {"required": True},
+ "repository": {"required": True},
+ "last_deployment_info": {"readonly": True},
+ "pull_request": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "id_properties_id": {"key": "properties.id", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "repo_type": {"key": "properties.repoType", "type": "str"},
+ "content_types": {"key": "properties.contentTypes", "type": "[str]"},
+ "repository": {"key": "properties.repository", "type": "Repository"},
+ "service_principal": {"key": "properties.servicePrincipal", "type": "ServicePrincipal"},
+ "repository_access": {"key": "properties.repositoryAccess", "type": "RepositoryAccess"},
+ "repository_resource_info": {"key": "properties.repositoryResourceInfo", "type": "RepositoryResourceInfo"},
+ "last_deployment_info": {"key": "properties.lastDeploymentInfo", "type": "DeploymentInfo"},
+ "pull_request": {"key": "properties.pullRequest", "type": "PullRequest"},
+ }
+
+ def __init__(
+ self,
+ *,
+ display_name: str,
+ repo_type: Union[str, "_models.RepoType"],
+ content_types: List[Union[str, "_models.ContentType"]],
+ repository: "_models.Repository",
+ etag: Optional[str] = None,
+ description: Optional[str] = None,
+ service_principal: Optional["_models.ServicePrincipal"] = None,
+ repository_access: Optional["_models.RepositoryAccess"] = None,
+ repository_resource_info: Optional["_models.RepositoryResourceInfo"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword connector_id: The connector id that provides the following data types.
- :paramtype connector_id: str
- :keyword data_types: The data types used by the security ml analytics settings.
- :paramtype data_types: list[str]
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword display_name: The display name of the source control. Required.
+ :paramtype display_name: str
+ :keyword description: A description of the source control.
+ :paramtype description: str
+ :keyword repo_type: The repository type of the source control. Required. Known values are:
+ "Github" and "AzureDevOps".
+ :paramtype repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
+ :keyword content_types: Array of source control content types. Required.
+ :paramtype content_types: list[str or ~azure.mgmt.securityinsight.models.ContentType]
+ :keyword repository: Repository metadata. Required.
+ :paramtype repository: ~azure.mgmt.securityinsight.models.Repository
+ :keyword service_principal: Service principal metadata.
+ :paramtype service_principal: ~azure.mgmt.securityinsight.models.ServicePrincipal
+ :keyword repository_access: Repository access credentials. This is write-only object and it
+ never returns back to a user.
+ :paramtype repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccess
+ :keyword repository_resource_info: Information regarding the resources created in user's
+ repository.
+ :paramtype repository_resource_info: ~azure.mgmt.securityinsight.models.RepositoryResourceInfo
"""
- super().__init__(**kwargs)
- self.connector_id = connector_id
- self.data_types = data_types
+ super().__init__(etag=etag, **kwargs)
+ self.id_properties_id = None
+ self.version = None
+ self.display_name = display_name
+ self.description = description
+ self.repo_type = repo_type
+ self.content_types = content_types
+ self.repository = repository
+ self.service_principal = service_principal
+ self.repository_access = repository_access
+ self.repository_resource_info = repository_resource_info
+ self.last_deployment_info = None
+ self.pull_request = None
-class SecurityMLAnalyticsSettingsList(_serialization.Model):
- """List all the SecurityMLAnalyticsSettings.
+class SourceControlList(_serialization.Model):
+ """List all the source controls.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of SecurityMLAnalyticsSettings.
+ :ivar next_link: URL to fetch the next set of source controls.
:vartype next_link: str
- :ivar value: Array of SecurityMLAnalyticsSettings. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting]
+ :ivar value: Array of source controls. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.SourceControl]
"""
_validation = {
@@ -20307,46 +27856,28 @@ class SecurityMLAnalyticsSettingsList(_serialization.Model):
_attribute_map = {
"next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[SecurityMLAnalyticsSetting]"},
+ "value": {"key": "value", "type": "[SourceControl]"},
}
- def __init__(self, *, value: List["_models.SecurityMLAnalyticsSetting"], **kwargs):
+ def __init__(self, *, value: List["_models.SourceControl"], **kwargs: Any) -> None:
"""
- :keyword value: Array of SecurityMLAnalyticsSettings. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting]
+ :keyword value: Array of source controls. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.SourceControl]
"""
super().__init__(**kwargs)
self.next_link = None
self.value = value
-class SentinelEntityMapping(_serialization.Model):
- """A single sentinel entity mapping.
-
- :ivar column_name: the column name to be mapped to the SentinelEntities.
- :vartype column_name: str
- """
-
- _attribute_map = {
- "column_name": {"key": "columnName", "type": "str"},
- }
-
- def __init__(self, *, column_name: Optional[str] = None, **kwargs):
- """
- :keyword column_name: the column name to be mapped to the SentinelEntities.
- :paramtype column_name: str
- """
- super().__init__(**kwargs)
- self.column_name = column_name
-
-
-class SentinelOnboardingState(ResourceWithEtag):
- """Sentinel onboarding state.
+class SubmissionMailEntity(Entity):
+ """Represents a submission mail entity.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -20356,10 +27887,38 @@ class SentinelOnboardingState(ResourceWithEtag):
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
- :vartype etag: str
- :ivar customer_managed_key: Flag that indicates the status of the CMK setting.
- :vartype customer_managed_key: bool
+ :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
+ "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
+ "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
+ "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar network_message_id: The network message id of email to which submission belongs.
+ :vartype network_message_id: str
+ :ivar submission_id: The submission id.
+ :vartype submission_id: str
+ :ivar submitter: The submitter.
+ :vartype submitter: str
+ :ivar submission_date: The submission date.
+ :vartype submission_date: ~datetime.datetime
+ :ivar timestamp: The Time stamp when the message is received (Mail).
+ :vartype timestamp: ~datetime.datetime
+ :ivar recipient: The recipient of the mail.
+ :vartype recipient: str
+ :ivar sender: The sender of the mail.
+ :vartype sender: str
+ :ivar sender_ip: The sender's IP.
+ :vartype sender_ip: str
+ :ivar subject: The subject of submission mail.
+ :vartype subject: str
+ :ivar report_type: The submission type for the given instance. This maps to Junk, Phish,
+ Malware or NotJunk.
+ :vartype report_type: str
"""
_validation = {
@@ -20367,6 +27926,19 @@ class SentinelOnboardingState(ResourceWithEtag):
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
+ "kind": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "network_message_id": {"readonly": True},
+ "submission_id": {"readonly": True},
+ "submitter": {"readonly": True},
+ "submission_date": {"readonly": True},
+ "timestamp": {"readonly": True},
+ "recipient": {"readonly": True},
+ "sender": {"readonly": True},
+ "sender_ip": {"readonly": True},
+ "subject": {"readonly": True},
+ "report_type": {"readonly": True},
}
_attribute_map = {
@@ -20374,80 +27946,191 @@ class SentinelOnboardingState(ResourceWithEtag):
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
- "customer_managed_key": {"key": "properties.customerManagedKey", "type": "bool"},
+ "kind": {"key": "kind", "type": "str"},
+ "additional_data": {"key": "properties.additionalData", "type": "{object}"},
+ "friendly_name": {"key": "properties.friendlyName", "type": "str"},
+ "network_message_id": {"key": "properties.networkMessageId", "type": "str"},
+ "submission_id": {"key": "properties.submissionId", "type": "str"},
+ "submitter": {"key": "properties.submitter", "type": "str"},
+ "submission_date": {"key": "properties.submissionDate", "type": "iso-8601"},
+ "timestamp": {"key": "properties.timestamp", "type": "iso-8601"},
+ "recipient": {"key": "properties.recipient", "type": "str"},
+ "sender": {"key": "properties.sender", "type": "str"},
+ "sender_ip": {"key": "properties.senderIp", "type": "str"},
+ "subject": {"key": "properties.subject", "type": "str"},
+ "report_type": {"key": "properties.reportType", "type": "str"},
}
- def __init__(self, *, etag: Optional[str] = None, customer_managed_key: Optional[bool] = None, **kwargs):
- """
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword customer_managed_key: Flag that indicates the status of the CMK setting.
- :paramtype customer_managed_key: bool
- """
- super().__init__(etag=etag, **kwargs)
- self.customer_managed_key = customer_managed_key
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.kind: str = "SubmissionMail"
+ self.additional_data = None
+ self.friendly_name = None
+ self.network_message_id = None
+ self.submission_id = None
+ self.submitter = None
+ self.submission_date = None
+ self.timestamp = None
+ self.recipient = None
+ self.sender = None
+ self.sender_ip = None
+ self.subject = None
+ self.report_type = None
-class SentinelOnboardingStatesList(_serialization.Model):
- """List of the Sentinel onboarding states.
+class SubmissionMailEntityProperties(EntityCommonProperties):
+ """Submission mail entity property bag.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar value: Array of Sentinel onboarding states. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.SentinelOnboardingState]
+ :ivar additional_data: A bag of custom fields that should be part of the entity and will be
+ presented to the user.
+ :vartype additional_data: dict[str, any]
+ :ivar friendly_name: The graph item display name which is a short humanly readable description
+ of the graph item instance. This property is optional and might be system generated.
+ :vartype friendly_name: str
+ :ivar network_message_id: The network message id of email to which submission belongs.
+ :vartype network_message_id: str
+ :ivar submission_id: The submission id.
+ :vartype submission_id: str
+ :ivar submitter: The submitter.
+ :vartype submitter: str
+ :ivar submission_date: The submission date.
+ :vartype submission_date: ~datetime.datetime
+ :ivar timestamp: The Time stamp when the message is received (Mail).
+ :vartype timestamp: ~datetime.datetime
+ :ivar recipient: The recipient of the mail.
+ :vartype recipient: str
+ :ivar sender: The sender of the mail.
+ :vartype sender: str
+ :ivar sender_ip: The sender's IP.
+ :vartype sender_ip: str
+ :ivar subject: The subject of submission mail.
+ :vartype subject: str
+ :ivar report_type: The submission type for the given instance. This maps to Junk, Phish,
+ Malware or NotJunk.
+ :vartype report_type: str
"""
_validation = {
- "value": {"required": True},
+ "additional_data": {"readonly": True},
+ "friendly_name": {"readonly": True},
+ "network_message_id": {"readonly": True},
+ "submission_id": {"readonly": True},
+ "submitter": {"readonly": True},
+ "submission_date": {"readonly": True},
+ "timestamp": {"readonly": True},
+ "recipient": {"readonly": True},
+ "sender": {"readonly": True},
+ "sender_ip": {"readonly": True},
+ "subject": {"readonly": True},
+ "report_type": {"readonly": True},
}
_attribute_map = {
- "value": {"key": "value", "type": "[SentinelOnboardingState]"},
+ "additional_data": {"key": "additionalData", "type": "{object}"},
+ "friendly_name": {"key": "friendlyName", "type": "str"},
+ "network_message_id": {"key": "networkMessageId", "type": "str"},
+ "submission_id": {"key": "submissionId", "type": "str"},
+ "submitter": {"key": "submitter", "type": "str"},
+ "submission_date": {"key": "submissionDate", "type": "iso-8601"},
+ "timestamp": {"key": "timestamp", "type": "iso-8601"},
+ "recipient": {"key": "recipient", "type": "str"},
+ "sender": {"key": "sender", "type": "str"},
+ "sender_ip": {"key": "senderIp", "type": "str"},
+ "subject": {"key": "subject", "type": "str"},
+ "report_type": {"key": "reportType", "type": "str"},
}
- def __init__(self, *, value: List["_models.SentinelOnboardingState"], **kwargs):
- """
- :keyword value: Array of Sentinel onboarding states. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.SentinelOnboardingState]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.value = value
-
+ self.network_message_id = None
+ self.submission_id = None
+ self.submitter = None
+ self.submission_date = None
+ self.timestamp = None
+ self.recipient = None
+ self.sender = None
+ self.sender_ip = None
+ self.subject = None
+ self.report_type = None
-class SettingList(_serialization.Model):
- """List of all the settings.
- All required parameters must be populated in order to send to Azure.
+class SystemData(_serialization.Model):
+ """Metadata pertaining to creation and last modification of the resource.
- :ivar value: Array of settings. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Settings]
+ :ivar created_by: The identity that created the resource.
+ :vartype created_by: str
+ :ivar created_by_type: The type of identity that created the resource. Known values are:
+ "User", "Application", "ManagedIdentity", and "Key".
+ :vartype created_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
+ :ivar created_at: The timestamp of resource creation (UTC).
+ :vartype created_at: ~datetime.datetime
+ :ivar last_modified_by: The identity that last modified the resource.
+ :vartype last_modified_by: str
+ :ivar last_modified_by_type: The type of identity that last modified the resource. Known values
+ are: "User", "Application", "ManagedIdentity", and "Key".
+ :vartype last_modified_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
+ :ivar last_modified_at: The timestamp of resource last modification (UTC).
+ :vartype last_modified_at: ~datetime.datetime
"""
- _validation = {
- "value": {"required": True},
- }
-
_attribute_map = {
- "value": {"key": "value", "type": "[Settings]"},
+ "created_by": {"key": "createdBy", "type": "str"},
+ "created_by_type": {"key": "createdByType", "type": "str"},
+ "created_at": {"key": "createdAt", "type": "iso-8601"},
+ "last_modified_by": {"key": "lastModifiedBy", "type": "str"},
+ "last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
+ "last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
}
- def __init__(self, *, value: List["_models.Settings"], **kwargs):
+ def __init__(
+ self,
+ *,
+ created_by: Optional[str] = None,
+ created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
+ created_at: Optional[datetime.datetime] = None,
+ last_modified_by: Optional[str] = None,
+ last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
+ last_modified_at: Optional[datetime.datetime] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of settings. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Settings]
+ :keyword created_by: The identity that created the resource.
+ :paramtype created_by: str
+ :keyword created_by_type: The type of identity that created the resource. Known values are:
+ "User", "Application", "ManagedIdentity", and "Key".
+ :paramtype created_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
+ :keyword created_at: The timestamp of resource creation (UTC).
+ :paramtype created_at: ~datetime.datetime
+ :keyword last_modified_by: The identity that last modified the resource.
+ :paramtype last_modified_by: str
+ :keyword last_modified_by_type: The type of identity that last modified the resource. Known
+ values are: "User", "Application", "ManagedIdentity", and "Key".
+ :paramtype last_modified_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
+ :keyword last_modified_at: The timestamp of resource last modification (UTC).
+ :paramtype last_modified_at: ~datetime.datetime
"""
super().__init__(**kwargs)
- self.value = value
+ self.created_by = created_by
+ self.created_by_type = created_by_type
+ self.created_at = created_at
+ self.last_modified_by = last_modified_by
+ self.last_modified_by_type = last_modified_by_type
+ self.last_modified_at = last_modified_at
-class SourceControl(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Represents a SourceControl in Azure Security Insights.
+class SystemResource(ResourceWithEtag):
+ """Describes the system within the agent.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -20459,27 +28142,14 @@ class SourceControl(ResourceWithEtag): # pylint: disable=too-many-instance-attr
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
:ivar etag: Etag of the azure resource.
:vartype etag: str
- :ivar id_properties_id: The id (a Guid) of the source control.
- :vartype id_properties_id: str
- :ivar version: The version number associated with the source control. Known values are: "V1"
- and "V2".
- :vartype version: str or ~azure.mgmt.securityinsight.models.Version
- :ivar display_name: The display name of the source control.
+ :ivar status: The status of the system. Known values are: "Running" and "Stopped".
+ :vartype status: str or ~azure.mgmt.securityinsight.models.SystemStatusType
+ :ivar configuration: The configuration of the system. Required.
+ :vartype configuration: ~azure.mgmt.securityinsight.models.SystemsConfiguration
+ :ivar display_name: Required.
:vartype display_name: str
- :ivar description: A description of the source control.
- :vartype description: str
- :ivar repo_type: The repository type of the source control. Known values are: "Github" and
- "DevOps".
- :vartype repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
- :ivar content_types: Array of source control content types.
- :vartype content_types: list[str or ~azure.mgmt.securityinsight.models.ContentType]
- :ivar repository: Repository metadata.
- :vartype repository: ~azure.mgmt.securityinsight.models.Repository
- :ivar repository_resource_info: Information regarding the resources created in user's
- repository.
- :vartype repository_resource_info: ~azure.mgmt.securityinsight.models.RepositoryResourceInfo
- :ivar last_deployment_info: Information regarding the latest deployment for the source control.
- :vartype last_deployment_info: ~azure.mgmt.securityinsight.models.DeploymentInfo
+ :ivar last_modified_time_utc:
+ :vartype last_modified_time_utc: ~datetime.datetime
"""
_validation = {
@@ -20487,6 +28157,9 @@ class SourceControl(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
+ "configuration": {"required": True},
+ "display_name": {"required": True, "min_length": 1},
+ "last_modified_time_utc": {"readonly": True},
}
_attribute_map = {
@@ -20495,449 +28168,858 @@ class SourceControl(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "id_properties_id": {"key": "properties.id", "type": "str"},
- "version": {"key": "properties.version", "type": "str"},
+ "status": {"key": "properties.status", "type": "str"},
+ "configuration": {"key": "properties.configuration", "type": "SystemsConfiguration"},
"display_name": {"key": "properties.displayName", "type": "str"},
- "description": {"key": "properties.description", "type": "str"},
- "repo_type": {"key": "properties.repoType", "type": "str"},
- "content_types": {"key": "properties.contentTypes", "type": "[str]"},
- "repository": {"key": "properties.repository", "type": "Repository"},
- "repository_resource_info": {"key": "properties.repositoryResourceInfo", "type": "RepositoryResourceInfo"},
- "last_deployment_info": {"key": "properties.lastDeploymentInfo", "type": "DeploymentInfo"},
+ "last_modified_time_utc": {"key": "properties.lastModifiedTimeUtc", "type": "iso-8601"},
}
def __init__(
self,
*,
+ configuration: "_models.SystemsConfiguration",
+ display_name: str,
etag: Optional[str] = None,
- id_properties_id: Optional[str] = None,
- version: Optional[Union[str, "_models.Version"]] = None,
- display_name: Optional[str] = None,
- description: Optional[str] = None,
- repo_type: Optional[Union[str, "_models.RepoType"]] = None,
- content_types: Optional[List[Union[str, "_models.ContentType"]]] = None,
- repository: Optional["_models.Repository"] = None,
- repository_resource_info: Optional["_models.RepositoryResourceInfo"] = None,
- last_deployment_info: Optional["_models.DeploymentInfo"] = None,
- **kwargs
- ):
+ status: Optional[Union[str, "_models.SystemStatusType"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
- :keyword id_properties_id: The id (a Guid) of the source control.
- :paramtype id_properties_id: str
- :keyword version: The version number associated with the source control. Known values are: "V1"
- and "V2".
- :paramtype version: str or ~azure.mgmt.securityinsight.models.Version
- :keyword display_name: The display name of the source control.
+ :keyword status: The status of the system. Known values are: "Running" and "Stopped".
+ :paramtype status: str or ~azure.mgmt.securityinsight.models.SystemStatusType
+ :keyword configuration: The configuration of the system. Required.
+ :paramtype configuration: ~azure.mgmt.securityinsight.models.SystemsConfiguration
+ :keyword display_name: Required.
:paramtype display_name: str
- :keyword description: A description of the source control.
- :paramtype description: str
- :keyword repo_type: The repository type of the source control. Known values are: "Github" and
- "DevOps".
- :paramtype repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
- :keyword content_types: Array of source control content types.
- :paramtype content_types: list[str or ~azure.mgmt.securityinsight.models.ContentType]
- :keyword repository: Repository metadata.
- :paramtype repository: ~azure.mgmt.securityinsight.models.Repository
- :keyword repository_resource_info: Information regarding the resources created in user's
- repository.
- :paramtype repository_resource_info: ~azure.mgmt.securityinsight.models.RepositoryResourceInfo
- :keyword last_deployment_info: Information regarding the latest deployment for the source
- control.
- :paramtype last_deployment_info: ~azure.mgmt.securityinsight.models.DeploymentInfo
"""
super().__init__(etag=etag, **kwargs)
- self.id_properties_id = id_properties_id
- self.version = version
+ self.status = status
+ self.configuration = configuration
self.display_name = display_name
- self.description = description
- self.repo_type = repo_type
- self.content_types = content_types
- self.repository = repository
- self.repository_resource_info = repository_resource_info
- self.last_deployment_info = last_deployment_info
-
-
-class SourceControlList(_serialization.Model):
- """List all the source controls.
+ self.last_modified_time_utc = None
- Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+class SystemsList(_serialization.Model):
+ """List of Agent's Systems.
- :ivar next_link: URL to fetch the next set of source controls.
+ :ivar value:
+ :vartype value: list[~azure.mgmt.securityinsight.models.SystemResource]
+ :ivar next_link:
:vartype next_link: str
- :ivar value: Array of source controls. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.SourceControl]
"""
- _validation = {
- "next_link": {"readonly": True},
- "value": {"required": True},
- }
-
_attribute_map = {
+ "value": {"key": "value", "type": "[SystemResource]"},
"next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[SourceControl]"},
}
- def __init__(self, *, value: List["_models.SourceControl"], **kwargs):
+ def __init__(
+ self, *, value: Optional[List["_models.SystemResource"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword value: Array of source controls. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.SourceControl]
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.securityinsight.models.SystemResource]
+ :keyword next_link:
+ :paramtype next_link: str
"""
super().__init__(**kwargs)
- self.next_link = None
self.value = value
+ self.next_link = next_link
-class SubmissionMailEntity(Entity): # pylint: disable=too-many-instance-attributes
- """Represents a submission mail entity.
+class TeamInformation(_serialization.Model):
+ """Describes team information.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
-
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
- :vartype id: str
- :ivar name: The name of the resource.
+ :ivar team_id: Team ID.
+ :vartype team_id: str
+ :ivar primary_channel_url: The primary channel URL of the team.
+ :vartype primary_channel_url: str
+ :ivar team_creation_time_utc: The time the team was created.
+ :vartype team_creation_time_utc: ~datetime.datetime
+ :ivar name: The name of the team.
:vartype name: str
- :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
- "Microsoft.Storage/storageAccounts".
- :vartype type: str
- :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
- information.
- :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar kind: The kind of the entity. Required. Known values are: "Account", "Host", "File",
- "AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
- "RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
- "Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar network_message_id: The network message id of email to which submission belongs.
- :vartype network_message_id: str
- :ivar submission_id: The submission id.
- :vartype submission_id: str
- :ivar submitter: The submitter.
- :vartype submitter: str
- :ivar submission_date: The submission date.
- :vartype submission_date: ~datetime.datetime
- :ivar timestamp: The Time stamp when the message is received (Mail).
- :vartype timestamp: ~datetime.datetime
- :ivar recipient: The recipient of the mail.
- :vartype recipient: str
- :ivar sender: The sender of the mail.
- :vartype sender: str
- :ivar sender_ip: The sender's IP.
- :vartype sender_ip: str
- :ivar subject: The subject of submission mail.
- :vartype subject: str
- :ivar report_type: The submission type for the given instance. This maps to Junk, Phish,
- Malware or NotJunk.
- :vartype report_type: str
+ :ivar description: The description of the team.
+ :vartype description: str
"""
_validation = {
- "id": {"readonly": True},
+ "team_id": {"readonly": True},
+ "primary_channel_url": {"readonly": True},
+ "team_creation_time_utc": {"readonly": True},
"name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "kind": {"required": True},
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "network_message_id": {"readonly": True},
- "submission_id": {"readonly": True},
- "submitter": {"readonly": True},
- "submission_date": {"readonly": True},
- "timestamp": {"readonly": True},
- "recipient": {"readonly": True},
- "sender": {"readonly": True},
- "sender_ip": {"readonly": True},
- "subject": {"readonly": True},
- "report_type": {"readonly": True},
+ "description": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "team_id": {"key": "teamId", "type": "str"},
+ "primary_channel_url": {"key": "primaryChannelUrl", "type": "str"},
+ "team_creation_time_utc": {"key": "teamCreationTimeUtc", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.team_id = None
+ self.primary_channel_url = None
+ self.team_creation_time_utc = None
+ self.name = None
+ self.description = None
+
+
+class TeamProperties(_serialization.Model):
+ """Describes team properties.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar team_name: The name of the team. Required.
+ :vartype team_name: str
+ :ivar team_description: The description of the team.
+ :vartype team_description: str
+ :ivar group_ids: List of group IDs to add their members to the team.
+ :vartype group_ids: list[str]
+ :ivar member_ids: List of member IDs to add to the team.
+ :vartype member_ids: list[str]
+ """
+
+ _validation = {
+ "team_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "team_name": {"key": "teamName", "type": "str"},
+ "team_description": {"key": "teamDescription", "type": "str"},
+ "group_ids": {"key": "groupIds", "type": "[str]"},
+ "member_ids": {"key": "memberIds", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ team_name: str,
+ team_description: Optional[str] = None,
+ group_ids: Optional[List[str]] = None,
+ member_ids: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword team_name: The name of the team. Required.
+ :paramtype team_name: str
+ :keyword team_description: The description of the team.
+ :paramtype team_description: str
+ :keyword group_ids: List of group IDs to add their members to the team.
+ :paramtype group_ids: list[str]
+ :keyword member_ids: List of member IDs to add to the team.
+ :paramtype member_ids: list[str]
+ """
+ super().__init__(**kwargs)
+ self.team_name = team_name
+ self.team_description = team_description
+ self.group_ids = group_ids
+ self.member_ids = member_ids
+
+
+class TemplateAdditionalProperties(_serialization.Model):
+ """additional properties of product template.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :vartype main_template: JSON
+ :ivar dependant_templates: Dependant templates. Expandable.
+ :vartype dependant_templates: list[~azure.mgmt.securityinsight.models.TemplateProperties]
+ """
+
+ _validation = {
+ "dependant_templates": {"readonly": True},
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "kind": {"key": "kind", "type": "str"},
- "additional_data": {"key": "properties.additionalData", "type": "{object}"},
- "friendly_name": {"key": "properties.friendlyName", "type": "str"},
- "network_message_id": {"key": "properties.networkMessageId", "type": "str"},
- "submission_id": {"key": "properties.submissionId", "type": "str"},
- "submitter": {"key": "properties.submitter", "type": "str"},
- "submission_date": {"key": "properties.submissionDate", "type": "iso-8601"},
- "timestamp": {"key": "properties.timestamp", "type": "iso-8601"},
- "recipient": {"key": "properties.recipient", "type": "str"},
- "sender": {"key": "properties.sender", "type": "str"},
- "sender_ip": {"key": "properties.senderIp", "type": "str"},
- "subject": {"key": "properties.subject", "type": "str"},
- "report_type": {"key": "properties.reportType", "type": "str"},
+ "main_template": {"key": "mainTemplate", "type": "object"},
+ "dependant_templates": {"key": "dependantTemplates", "type": "[TemplateProperties]"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, main_template: Optional[JSON] = None, **kwargs: Any) -> None:
+ """
+ :keyword main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :paramtype main_template: JSON
+ """
super().__init__(**kwargs)
- self.kind: str = "SubmissionMail"
- self.additional_data = None
- self.friendly_name = None
- self.network_message_id = None
- self.submission_id = None
- self.submitter = None
- self.submission_date = None
- self.timestamp = None
- self.recipient = None
- self.sender = None
- self.sender_ip = None
- self.subject = None
- self.report_type = None
+ self.main_template = main_template
+ self.dependant_templates = None
-class SubmissionMailEntityProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
- """Submission mail entity property bag.
+class TemplateList(_serialization.Model):
+ """List of all the template.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar additional_data: A bag of custom fields that should be part of the entity and will be
- presented to the user.
- :vartype additional_data: dict[str, any]
- :ivar friendly_name: The graph item display name which is a short humanly readable description
- of the graph item instance. This property is optional and might be system generated.
- :vartype friendly_name: str
- :ivar network_message_id: The network message id of email to which submission belongs.
- :vartype network_message_id: str
- :ivar submission_id: The submission id.
- :vartype submission_id: str
- :ivar submitter: The submitter.
- :vartype submitter: str
- :ivar submission_date: The submission date.
- :vartype submission_date: ~datetime.datetime
- :ivar timestamp: The Time stamp when the message is received (Mail).
- :vartype timestamp: ~datetime.datetime
- :ivar recipient: The recipient of the mail.
- :vartype recipient: str
- :ivar sender: The sender of the mail.
- :vartype sender: str
- :ivar sender_ip: The sender's IP.
- :vartype sender_ip: str
- :ivar subject: The subject of submission mail.
- :vartype subject: str
- :ivar report_type: The submission type for the given instance. This maps to Junk, Phish,
- Malware or NotJunk.
- :vartype report_type: str
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Array of templates. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.TemplateModel]
+ :ivar next_link: URL to fetch the next page of template.
+ :vartype next_link: str
"""
_validation = {
- "additional_data": {"readonly": True},
- "friendly_name": {"readonly": True},
- "network_message_id": {"readonly": True},
- "submission_id": {"readonly": True},
- "submitter": {"readonly": True},
- "submission_date": {"readonly": True},
- "timestamp": {"readonly": True},
- "recipient": {"readonly": True},
- "sender": {"readonly": True},
- "sender_ip": {"readonly": True},
- "subject": {"readonly": True},
- "report_type": {"readonly": True},
+ "value": {"required": True},
+ "next_link": {"readonly": True},
}
_attribute_map = {
- "additional_data": {"key": "additionalData", "type": "{object}"},
- "friendly_name": {"key": "friendlyName", "type": "str"},
- "network_message_id": {"key": "networkMessageId", "type": "str"},
- "submission_id": {"key": "submissionId", "type": "str"},
- "submitter": {"key": "submitter", "type": "str"},
- "submission_date": {"key": "submissionDate", "type": "iso-8601"},
- "timestamp": {"key": "timestamp", "type": "iso-8601"},
- "recipient": {"key": "recipient", "type": "str"},
- "sender": {"key": "sender", "type": "str"},
- "sender_ip": {"key": "senderIp", "type": "str"},
- "subject": {"key": "subject", "type": "str"},
- "report_type": {"key": "reportType", "type": "str"},
+ "value": {"key": "value", "type": "[TemplateModel]"},
+ "next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(self, *, value: List["_models.TemplateModel"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of templates. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.TemplateModel]
+ """
super().__init__(**kwargs)
- self.network_message_id = None
- self.submission_id = None
- self.submitter = None
- self.submission_date = None
- self.timestamp = None
- self.recipient = None
- self.sender = None
- self.sender_ip = None
- self.subject = None
- self.report_type = None
+ self.value = value
+ self.next_link = None
-class SystemData(_serialization.Model):
- """Metadata pertaining to creation and last modification of the resource.
+class TemplateModel(ResourceWithEtag):
+ """Template resource definition.
- :ivar created_by: The identity that created the resource.
- :vartype created_by: str
- :ivar created_by_type: The type of identity that created the resource. Known values are:
- "User", "Application", "ManagedIdentity", and "Key".
- :vartype created_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
- :ivar created_at: The timestamp of resource creation (UTC).
- :vartype created_at: ~datetime.datetime
- :ivar last_modified_by: The identity that last modified the resource.
- :vartype last_modified_by: str
- :ivar last_modified_by_type: The type of identity that last modified the resource. Known values
- are: "User", "Application", "ManagedIdentity", and "Key".
- :vartype last_modified_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
- :ivar last_modified_at: The timestamp of resource last modification (UTC).
- :vartype last_modified_at: ~datetime.datetime
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :vartype content_product_id: str
+ :ivar package_version: Version of the package. Default and recommended format is numeric (e.g.
+ 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but
+ then we cannot guarantee any version checks.
+ :vartype package_version: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar display_name: The display name of the template.
+ :vartype display_name: str
+ :ivar content_kind: The kind of content the template is for. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the template - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ :ivar package_id: the package Id contains this template.
+ :vartype package_id: str
+ :ivar package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :vartype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar package_name: the name of the package contains this template.
+ :vartype package_name: str
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
+ :ivar main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :vartype main_template: JSON
+ :ivar dependant_templates: Dependant templates. Expandable.
+ :vartype dependant_templates: list[~azure.mgmt.securityinsight.models.TemplateProperties]
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "is_deprecated": {"readonly": True},
+ "dependant_templates": {"readonly": True},
+ }
+
_attribute_map = {
- "created_by": {"key": "createdBy", "type": "str"},
- "created_by_type": {"key": "createdByType", "type": "str"},
- "created_at": {"key": "createdAt", "type": "iso-8601"},
- "last_modified_by": {"key": "lastModifiedBy", "type": "str"},
- "last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
- "last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "content_id": {"key": "properties.contentId", "type": "str"},
+ "content_product_id": {"key": "properties.contentProductId", "type": "str"},
+ "package_version": {"key": "properties.packageVersion", "type": "str"},
+ "version": {"key": "properties.version", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "content_kind": {"key": "properties.contentKind", "type": "str"},
+ "source": {"key": "properties.source", "type": "MetadataSource"},
+ "author": {"key": "properties.author", "type": "MetadataAuthor"},
+ "support": {"key": "properties.support", "type": "MetadataSupport"},
+ "dependencies": {"key": "properties.dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "properties.categories", "type": "MetadataCategories"},
+ "providers": {"key": "properties.providers", "type": "[str]"},
+ "first_publish_date": {"key": "properties.firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "properties.lastPublishDate", "type": "date"},
+ "custom_version": {"key": "properties.customVersion", "type": "str"},
+ "content_schema_version": {"key": "properties.contentSchemaVersion", "type": "str"},
+ "icon": {"key": "properties.icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "properties.threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "properties.threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "properties.previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "properties.previewImagesDark", "type": "[str]"},
+ "package_id": {"key": "properties.packageId", "type": "str"},
+ "package_kind": {"key": "properties.packageKind", "type": "str"},
+ "package_name": {"key": "properties.packageName", "type": "str"},
+ "is_deprecated": {"key": "properties.isDeprecated", "type": "str"},
+ "main_template": {"key": "properties.mainTemplate", "type": "object"},
+ "dependant_templates": {"key": "properties.dependantTemplates", "type": "[TemplateProperties]"},
}
- def __init__(
+ def __init__( # pylint: disable=too-many-locals
self,
*,
- created_by: Optional[str] = None,
- created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
- created_at: Optional[datetime.datetime] = None,
- last_modified_by: Optional[str] = None,
- last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
- last_modified_at: Optional[datetime.datetime] = None,
- **kwargs
- ):
- """
- :keyword created_by: The identity that created the resource.
- :paramtype created_by: str
- :keyword created_by_type: The type of identity that created the resource. Known values are:
- "User", "Application", "ManagedIdentity", and "Key".
- :paramtype created_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
- :keyword created_at: The timestamp of resource creation (UTC).
- :paramtype created_at: ~datetime.datetime
- :keyword last_modified_by: The identity that last modified the resource.
- :paramtype last_modified_by: str
- :keyword last_modified_by_type: The type of identity that last modified the resource. Known
- values are: "User", "Application", "ManagedIdentity", and "Key".
- :paramtype last_modified_by_type: str or ~azure.mgmt.securityinsight.models.CreatedByType
- :keyword last_modified_at: The timestamp of resource last modification (UTC).
- :paramtype last_modified_at: ~datetime.datetime
+ etag: Optional[str] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ package_version: Optional[str] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.Kind"]] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ package_id: Optional[str] = None,
+ package_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ package_name: Optional[str] = None,
+ main_template: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
"""
- super().__init__(**kwargs)
- self.created_by = created_by
- self.created_by_type = created_by_type
- self.created_at = created_at
- self.last_modified_by = last_modified_by
- self.last_modified_by_type = last_modified_by_type
- self.last_modified_at = last_modified_at
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :paramtype content_product_id: str
+ :keyword package_version: Version of the package. Default and recommended format is numeric
+ (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string,
+ but then we cannot guarantee any version checks.
+ :paramtype package_version: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword display_name: The display name of the template.
+ :paramtype display_name: str
+ :keyword content_kind: The kind of content the template is for. Known values are:
+ "DataConnector", "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the template - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ :keyword package_id: the package Id contains this template.
+ :paramtype package_id: str
+ :keyword package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :paramtype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword package_name: the name of the package contains this template.
+ :paramtype package_name: str
+ :keyword main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :paramtype main_template: JSON
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.package_version = package_version
+ self.version = version
+ self.display_name = display_name
+ self.content_kind = content_kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+ self.package_id = package_id
+ self.package_kind = package_kind
+ self.package_name = package_name
+ self.is_deprecated = None
+ self.main_template = main_template
+ self.dependant_templates = None
-class TeamInformation(_serialization.Model):
- """Describes team information.
+class TemplateProperties(TemplateBaseProperties, TemplateAdditionalProperties):
+ """Template property bag.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar team_id: Team ID.
- :vartype team_id: str
- :ivar primary_channel_url: The primary channel URL of the team.
- :vartype primary_channel_url: str
- :ivar team_creation_time_utc: The time the team was created.
- :vartype team_creation_time_utc: ~datetime.datetime
- :ivar name: The name of the team.
- :vartype name: str
- :ivar description: The description of the team.
- :vartype description: str
+ :ivar main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :vartype main_template: JSON
+ :ivar dependant_templates: Dependant templates. Expandable.
+ :vartype dependant_templates: list[~azure.mgmt.securityinsight.models.TemplateProperties]
+ :ivar content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :vartype content_id: str
+ :ivar content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :vartype content_product_id: str
+ :ivar package_version: Version of the package. Default and recommended format is numeric (e.g.
+ 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but
+ then we cannot guarantee any version checks.
+ :vartype package_version: str
+ :ivar version: Version of the content. Default and recommended format is numeric (e.g. 1, 1.0,
+ 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we
+ cannot guarantee any version checks.
+ :vartype version: str
+ :ivar display_name: The display name of the template.
+ :vartype display_name: str
+ :ivar content_kind: The kind of content the template is for. Known values are: "DataConnector",
+ "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :vartype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :ivar source: Source of the content. This is where/how it was created.
+ :vartype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :ivar author: The creator of the content item.
+ :vartype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :ivar support: Support information for the template - type, name, contact information.
+ :vartype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :ivar dependencies: Dependencies for the content item, what other content items it requires to
+ work. Can describe more complex dependencies using a recursive/nested structure. For a single
+ dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :vartype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :ivar categories: Categories for the item.
+ :vartype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :ivar providers: Providers for the content item.
+ :vartype providers: list[str]
+ :ivar first_publish_date: first publish date content item.
+ :vartype first_publish_date: ~datetime.date
+ :ivar last_publish_date: last publish date for the content item.
+ :vartype last_publish_date: ~datetime.date
+ :ivar custom_version: The custom version of the content. A optional free text.
+ :vartype custom_version: str
+ :ivar content_schema_version: Schema version of the content. Can be used to distinguish between
+ different flow based on the schema version.
+ :vartype content_schema_version: str
+ :ivar icon: the icon identifier. this id can later be fetched from the content metadata.
+ :vartype icon: str
+ :ivar threat_analysis_tactics: the tactics the resource covers.
+ :vartype threat_analysis_tactics: list[str]
+ :ivar threat_analysis_techniques: the techniques the resource covers, these have to be aligned
+ with the tactics being used.
+ :vartype threat_analysis_techniques: list[str]
+ :ivar preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :vartype preview_images: list[str]
+ :ivar preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :vartype preview_images_dark: list[str]
+ :ivar package_id: the package Id contains this template.
+ :vartype package_id: str
+ :ivar package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :vartype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :ivar package_name: the name of the package contains this template.
+ :vartype package_name: str
+ :ivar is_deprecated: Flag indicates if this template is deprecated. Known values are: "true"
+ and "false".
+ :vartype is_deprecated: str or ~azure.mgmt.securityinsight.models.Flag
"""
_validation = {
- "team_id": {"readonly": True},
- "primary_channel_url": {"readonly": True},
- "team_creation_time_utc": {"readonly": True},
- "name": {"readonly": True},
- "description": {"readonly": True},
+ "dependant_templates": {"readonly": True},
+ "is_deprecated": {"readonly": True},
}
_attribute_map = {
- "team_id": {"key": "teamId", "type": "str"},
- "primary_channel_url": {"key": "primaryChannelUrl", "type": "str"},
- "team_creation_time_utc": {"key": "teamCreationTimeUtc", "type": "iso-8601"},
- "name": {"key": "name", "type": "str"},
- "description": {"key": "description", "type": "str"},
+ "main_template": {"key": "mainTemplate", "type": "object"},
+ "dependant_templates": {"key": "dependantTemplates", "type": "[TemplateProperties]"},
+ "content_id": {"key": "contentId", "type": "str"},
+ "content_product_id": {"key": "contentProductId", "type": "str"},
+ "package_version": {"key": "packageVersion", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "content_kind": {"key": "contentKind", "type": "str"},
+ "source": {"key": "source", "type": "MetadataSource"},
+ "author": {"key": "author", "type": "MetadataAuthor"},
+ "support": {"key": "support", "type": "MetadataSupport"},
+ "dependencies": {"key": "dependencies", "type": "MetadataDependencies"},
+ "categories": {"key": "categories", "type": "MetadataCategories"},
+ "providers": {"key": "providers", "type": "[str]"},
+ "first_publish_date": {"key": "firstPublishDate", "type": "date"},
+ "last_publish_date": {"key": "lastPublishDate", "type": "date"},
+ "custom_version": {"key": "customVersion", "type": "str"},
+ "content_schema_version": {"key": "contentSchemaVersion", "type": "str"},
+ "icon": {"key": "icon", "type": "str"},
+ "threat_analysis_tactics": {"key": "threatAnalysisTactics", "type": "[str]"},
+ "threat_analysis_techniques": {"key": "threatAnalysisTechniques", "type": "[str]"},
+ "preview_images": {"key": "previewImages", "type": "[str]"},
+ "preview_images_dark": {"key": "previewImagesDark", "type": "[str]"},
+ "package_id": {"key": "packageId", "type": "str"},
+ "package_kind": {"key": "packageKind", "type": "str"},
+ "package_name": {"key": "packageName", "type": "str"},
+ "is_deprecated": {"key": "isDeprecated", "type": "str"},
}
- def __init__(self, **kwargs):
- """ """
- super().__init__(**kwargs)
- self.team_id = None
- self.primary_channel_url = None
- self.team_creation_time_utc = None
- self.name = None
- self.description = None
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ main_template: Optional[JSON] = None,
+ content_id: Optional[str] = None,
+ content_product_id: Optional[str] = None,
+ package_version: Optional[str] = None,
+ version: Optional[str] = None,
+ display_name: Optional[str] = None,
+ content_kind: Optional[Union[str, "_models.Kind"]] = None,
+ source: Optional["_models.MetadataSource"] = None,
+ author: Optional["_models.MetadataAuthor"] = None,
+ support: Optional["_models.MetadataSupport"] = None,
+ dependencies: Optional["_models.MetadataDependencies"] = None,
+ categories: Optional["_models.MetadataCategories"] = None,
+ providers: Optional[List[str]] = None,
+ first_publish_date: Optional[datetime.date] = None,
+ last_publish_date: Optional[datetime.date] = None,
+ custom_version: Optional[str] = None,
+ content_schema_version: Optional[str] = None,
+ icon: Optional[str] = None,
+ threat_analysis_tactics: Optional[List[str]] = None,
+ threat_analysis_techniques: Optional[List[str]] = None,
+ preview_images: Optional[List[str]] = None,
+ preview_images_dark: Optional[List[str]] = None,
+ package_id: Optional[str] = None,
+ package_kind: Optional[Union[str, "_models.PackageKind"]] = None,
+ package_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword main_template: The JSON of the ARM template to deploy active content. Expandable.
+ :paramtype main_template: JSON
+ :keyword content_id: Static ID for the content. Used to identify dependencies and content from
+ solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic
+ for user-created. This is the resource name.
+ :paramtype content_id: str
+ :keyword content_product_id: Unique ID for the content. It should be generated based on the
+ contentId of the package, contentId of the template, contentKind of the template and the
+ contentVersion of the template.
+ :paramtype content_product_id: str
+ :keyword package_version: Version of the package. Default and recommended format is numeric
+ (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string,
+ but then we cannot guarantee any version checks.
+ :paramtype package_version: str
+ :keyword version: Version of the content. Default and recommended format is numeric (e.g. 1,
+ 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then
+ we cannot guarantee any version checks.
+ :paramtype version: str
+ :keyword display_name: The display name of the template.
+ :paramtype display_name: str
+ :keyword content_kind: The kind of content the template is for. Known values are:
+ "DataConnector", "DataType", "Workbook", "WorkbookTemplate", "Playbook", "PlaybookTemplate",
+ "AnalyticsRuleTemplate", "AnalyticsRule", "HuntingQuery", "InvestigationQuery", "Parser",
+ "Watchlist", "WatchlistTemplate", "Solution", "AzureFunction", "LogicAppsCustomConnector",
+ "AutomationRule", "ResourcesDataConnector", "Notebook", "Standalone", and "SummaryRule".
+ :paramtype content_kind: str or ~azure.mgmt.securityinsight.models.Kind
+ :keyword source: Source of the content. This is where/how it was created.
+ :paramtype source: ~azure.mgmt.securityinsight.models.MetadataSource
+ :keyword author: The creator of the content item.
+ :paramtype author: ~azure.mgmt.securityinsight.models.MetadataAuthor
+ :keyword support: Support information for the template - type, name, contact information.
+ :paramtype support: ~azure.mgmt.securityinsight.models.MetadataSupport
+ :keyword dependencies: Dependencies for the content item, what other content items it requires
+ to work. Can describe more complex dependencies using a recursive/nested structure. For a
+ single dependency an id/kind/version can be supplied or operator/criteria for complex formats.
+ :paramtype dependencies: ~azure.mgmt.securityinsight.models.MetadataDependencies
+ :keyword categories: Categories for the item.
+ :paramtype categories: ~azure.mgmt.securityinsight.models.MetadataCategories
+ :keyword providers: Providers for the content item.
+ :paramtype providers: list[str]
+ :keyword first_publish_date: first publish date content item.
+ :paramtype first_publish_date: ~datetime.date
+ :keyword last_publish_date: last publish date for the content item.
+ :paramtype last_publish_date: ~datetime.date
+ :keyword custom_version: The custom version of the content. A optional free text.
+ :paramtype custom_version: str
+ :keyword content_schema_version: Schema version of the content. Can be used to distinguish
+ between different flow based on the schema version.
+ :paramtype content_schema_version: str
+ :keyword icon: the icon identifier. this id can later be fetched from the content metadata.
+ :paramtype icon: str
+ :keyword threat_analysis_tactics: the tactics the resource covers.
+ :paramtype threat_analysis_tactics: list[str]
+ :keyword threat_analysis_techniques: the techniques the resource covers, these have to be
+ aligned with the tactics being used.
+ :paramtype threat_analysis_techniques: list[str]
+ :keyword preview_images: preview image file names. These will be taken from the solution
+ artifacts.
+ :paramtype preview_images: list[str]
+ :keyword preview_images_dark: preview image file names. These will be taken from the solution
+ artifacts. used for dark theme support.
+ :paramtype preview_images_dark: list[str]
+ :keyword package_id: the package Id contains this template.
+ :paramtype package_id: str
+ :keyword package_kind: the packageKind of the package contains this template. Known values are:
+ "Solution" and "Standalone".
+ :paramtype package_kind: str or ~azure.mgmt.securityinsight.models.PackageKind
+ :keyword package_name: the name of the package contains this template.
+ :paramtype package_name: str
+ """
+ super().__init__(
+ content_id=content_id,
+ content_product_id=content_product_id,
+ package_version=package_version,
+ version=version,
+ display_name=display_name,
+ content_kind=content_kind,
+ source=source,
+ author=author,
+ support=support,
+ dependencies=dependencies,
+ categories=categories,
+ providers=providers,
+ first_publish_date=first_publish_date,
+ last_publish_date=last_publish_date,
+ custom_version=custom_version,
+ content_schema_version=content_schema_version,
+ icon=icon,
+ threat_analysis_tactics=threat_analysis_tactics,
+ threat_analysis_techniques=threat_analysis_techniques,
+ preview_images=preview_images,
+ preview_images_dark=preview_images_dark,
+ package_id=package_id,
+ package_kind=package_kind,
+ package_name=package_name,
+ main_template=main_template,
+ **kwargs
+ )
+ self.main_template = main_template
+ self.dependant_templates = None
+ self.content_id = content_id
+ self.content_product_id = content_product_id
+ self.package_version = package_version
+ self.version = version
+ self.display_name = display_name
+ self.content_kind = content_kind
+ self.source = source
+ self.author = author
+ self.support = support
+ self.dependencies = dependencies
+ self.categories = categories
+ self.providers = providers
+ self.first_publish_date = first_publish_date
+ self.last_publish_date = last_publish_date
+ self.custom_version = custom_version
+ self.content_schema_version = content_schema_version
+ self.icon = icon
+ self.threat_analysis_tactics = threat_analysis_tactics
+ self.threat_analysis_techniques = threat_analysis_techniques
+ self.preview_images = preview_images
+ self.preview_images_dark = preview_images_dark
+ self.package_id = package_id
+ self.package_kind = package_kind
+ self.package_name = package_name
+ self.is_deprecated = None
-class TeamProperties(_serialization.Model):
- """Describes team properties.
+class ThreatActor(TIObject):
+ """Represents a threat actor in Azure Security Insights.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar team_name: The name of the team. Required.
- :vartype team_name: str
- :ivar team_description: The description of the team.
- :vartype team_description: str
- :ivar group_ids: List of group IDs to add their members to the team.
- :vartype group_ids: list[str]
- :ivar member_ids: List of member IDs to add to the team.
- :vartype member_ids: list[str]
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar kind: The kind of the TI object. Required. Known values are: "AttackPattern", "Identity",
+ "Indicator", "Relationship", and "ThreatActor".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.TIObjectKind
+ :ivar data: The core STIX object that this TI object represents.
+ :vartype data: dict[str, any]
+ :ivar created_by: The UserInfo of the user/entity which originally created this TI object.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar source: The source name for this TI object.
+ :vartype source: str
+ :ivar first_ingested_time_utc: The timestamp for the first time this object was ingested.
+ :vartype first_ingested_time_utc: ~datetime.datetime
+ :ivar last_ingested_time_utc: The timestamp for the last time this object was ingested.
+ :vartype last_ingested_time_utc: ~datetime.datetime
+ :ivar ingestion_rules_version: The ID of the rules version that was active when this TI object
+ was last ingested.
+ :vartype ingestion_rules_version: str
+ :ivar last_update_method: The name of the method/application that initiated the last write to
+ this TI object.
+ :vartype last_update_method: str
+ :ivar last_modified_by: The UserInfo of the user/entity which last modified this TI object.
+ :vartype last_modified_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar last_updated_date_time_utc: The timestamp for the last time this TI object was updated.
+ :vartype last_updated_date_time_utc: ~datetime.datetime
+ :ivar relationship_hints: A dictionary used to help follow relationships from this object to
+ other STIX objects. The keys are field names from the STIX object (in the 'data' field), and
+ the values are lists of sources that can be prepended to the object ID in order to efficiently
+ locate the target TI object.
+ :vartype relationship_hints: list[~azure.mgmt.securityinsight.models.RelationshipHint]
"""
_validation = {
- "team_name": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "kind": {"required": True},
+ "data": {"readonly": True},
+ "created_by": {"readonly": True},
+ "source": {"readonly": True},
+ "first_ingested_time_utc": {"readonly": True},
+ "last_ingested_time_utc": {"readonly": True},
+ "ingestion_rules_version": {"readonly": True},
+ "last_update_method": {"readonly": True},
+ "last_modified_by": {"readonly": True},
+ "last_updated_date_time_utc": {"readonly": True},
+ "relationship_hints": {"readonly": True},
}
_attribute_map = {
- "team_name": {"key": "teamName", "type": "str"},
- "team_description": {"key": "teamDescription", "type": "str"},
- "group_ids": {"key": "groupIds", "type": "[str]"},
- "member_ids": {"key": "memberIds", "type": "[str]"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "kind": {"key": "kind", "type": "str"},
+ "data": {"key": "properties.data", "type": "{object}"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "source": {"key": "properties.source", "type": "str"},
+ "first_ingested_time_utc": {"key": "properties.firstIngestedTimeUtc", "type": "iso-8601"},
+ "last_ingested_time_utc": {"key": "properties.lastIngestedTimeUtc", "type": "iso-8601"},
+ "ingestion_rules_version": {"key": "properties.ingestionRulesVersion", "type": "str"},
+ "last_update_method": {"key": "properties.lastUpdateMethod", "type": "str"},
+ "last_modified_by": {"key": "properties.lastModifiedBy", "type": "UserInfo"},
+ "last_updated_date_time_utc": {"key": "properties.lastUpdatedDateTimeUtc", "type": "iso-8601"},
+ "relationship_hints": {"key": "properties.relationshipHints", "type": "[RelationshipHint]"},
}
- def __init__(
- self,
- *,
- team_name: str,
- team_description: Optional[str] = None,
- group_ids: Optional[List[str]] = None,
- member_ids: Optional[List[str]] = None,
- **kwargs
- ):
- """
- :keyword team_name: The name of the team. Required.
- :paramtype team_name: str
- :keyword team_description: The description of the team.
- :paramtype team_description: str
- :keyword group_ids: List of group IDs to add their members to the team.
- :paramtype group_ids: list[str]
- :keyword member_ids: List of member IDs to add to the team.
- :paramtype member_ids: list[str]
- """
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.team_name = team_name
- self.team_description = team_description
- self.group_ids = group_ids
- self.member_ids = member_ids
+ self.kind: str = "ThreatActor"
class ThreatIntelligence(_serialization.Model):
@@ -20978,7 +29060,7 @@ class ThreatIntelligence(_serialization.Model):
"threat_type": {"key": "threatType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.confidence = None
@@ -20989,15 +29071,15 @@ def __init__(self, **kwargs):
self.threat_type = None
-class ThreatIntelligenceAlertRule(AlertRule): # pylint: disable=too-many-instance-attributes
+class ThreatIntelligenceAlertRule(AlertRule):
"""Represents Threat Intelligence alert rule.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -21030,6 +29112,8 @@ class ThreatIntelligenceAlertRule(AlertRule): # pylint: disable=too-many-instan
:vartype tactics: list[str or ~azure.mgmt.securityinsight.models.AttackTactic]
:ivar techniques: The techniques of the alert rule.
:vartype techniques: list[str]
+ :ivar sub_techniques: The sub-techniques of the alert rule.
+ :vartype sub_techniques: list[str]
"""
_validation = {
@@ -21044,6 +29128,7 @@ class ThreatIntelligenceAlertRule(AlertRule): # pylint: disable=too-many-instan
"severity": {"readonly": True},
"tactics": {"readonly": True},
"techniques": {"readonly": True},
+ "sub_techniques": {"readonly": True},
}
_attribute_map = {
@@ -21061,6 +29146,7 @@ class ThreatIntelligenceAlertRule(AlertRule): # pylint: disable=too-many-instan
"severity": {"key": "properties.severity", "type": "str"},
"tactics": {"key": "properties.tactics", "type": "[str]"},
"techniques": {"key": "properties.techniques", "type": "[str]"},
+ "sub_techniques": {"key": "properties.subTechniques", "type": "[str]"},
}
def __init__(
@@ -21069,8 +29155,8 @@ def __init__(
etag: Optional[str] = None,
alert_rule_template_name: Optional[str] = None,
enabled: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -21090,17 +29176,18 @@ def __init__(
self.severity = None
self.tactics = None
self.techniques = None
+ self.sub_techniques = None
-class ThreatIntelligenceAlertRuleTemplate(AlertRuleTemplate): # pylint: disable=too-many-instance-attributes
+class ThreatIntelligenceAlertRuleTemplate(AlertRuleTemplate):
"""Represents Threat Intelligence alert rule template.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -21182,8 +29269,8 @@ def __init__(
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
severity: Optional[Union[str, "_models.AlertSeverity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -21220,12 +29307,14 @@ def __init__(
self.severity = severity
-class ThreatIntelligenceAlertRuleTemplateProperties(AlertRuleTemplateWithMitreProperties):
+class ThreatIntelligenceAlertRuleTemplateProperties(
+ AlertRuleTemplateWithMitreProperties
+): # pylint: disable=name-too-long
"""Threat Intelligence alert rule template properties.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -21283,8 +29372,8 @@ def __init__(
status: Optional[Union[str, "_models.TemplateStatus"]] = None,
tactics: Optional[List[Union[str, "_models.AttackTactic"]]] = None,
techniques: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword alert_rules_created_by_template_count: the number of alert rules that were created by
this template.
@@ -21331,7 +29420,7 @@ class ThreatIntelligenceAppendTags(_serialization.Model):
"threat_intelligence_tags": {"key": "threatIntelligenceTags", "type": "[str]"},
}
- def __init__(self, *, threat_intelligence_tags: Optional[List[str]] = None, **kwargs):
+ def __init__(self, *, threat_intelligence_tags: Optional[List[str]] = None, **kwargs: Any) -> None:
"""
:keyword threat_intelligence_tags: List of tags to be appended.
:paramtype threat_intelligence_tags: list[str]
@@ -21340,6 +29429,32 @@ def __init__(self, *, threat_intelligence_tags: Optional[List[str]] = None, **kw
self.threat_intelligence_tags = threat_intelligence_tags
+class ThreatIntelligenceCount(_serialization.Model):
+ """Count of all the threat intelligence objects on the workspace that match the provided query.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar count: Count of all the threat intelligence objects on the workspace that match the
+ provided query. Required.
+ :vartype count: int
+ """
+
+ _validation = {
+ "count": {"required": True, "readonly": True},
+ }
+
+ _attribute_map = {
+ "count": {"key": "count", "type": "int"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.count = None
+
+
class ThreatIntelligenceExternalReference(_serialization.Model):
"""Describes external reference.
@@ -21371,8 +29486,8 @@ def __init__(
source_name: Optional[str] = None,
url: Optional[str] = None,
hashes: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: External reference description.
:paramtype description: str
@@ -21393,7 +29508,7 @@ def __init__(
self.hashes = hashes
-class ThreatIntelligenceFilteringCriteria(_serialization.Model): # pylint: disable=too-many-instance-attributes
+class ThreatIntelligenceFilteringCriteria(_serialization.Model):
"""Filtering criteria for querying threat intelligence indicators.
:ivar page_size: Page size.
@@ -21456,8 +29571,8 @@ def __init__(
ids: Optional[List[str]] = None,
keywords: Optional[List[str]] = None,
skip_token: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword page_size: Page size.
:paramtype page_size: int
@@ -21525,8 +29640,8 @@ def __init__(
language: Optional[str] = None,
marking_ref: Optional[int] = None,
selectors: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword language: Language granular marking model.
:paramtype language: str
@@ -21549,10 +29664,10 @@ class ThreatIntelligenceInformation(ResourceWithEtag):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -21565,7 +29680,7 @@ class ThreatIntelligenceInformation(ResourceWithEtag):
:ivar etag: Etag of the azure resource.
:vartype etag: str
:ivar kind: The kind of the entity. Required. "indicator"
- :vartype kind: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceResourceKindEnum
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceResourceInnerKind
"""
_validation = {
@@ -21587,7 +29702,7 @@ class ThreatIntelligenceInformation(ResourceWithEtag):
_subtype_map = {"kind": {"indicator": "ThreatIntelligenceIndicatorModel"}}
- def __init__(self, *, etag: Optional[str] = None, **kwargs):
+ def __init__(self, *, etag: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -21596,15 +29711,15 @@ def __init__(self, *, etag: Optional[str] = None, **kwargs):
self.kind: Optional[str] = None
-class ThreatIntelligenceIndicatorModel(ThreatIntelligenceInformation): # pylint: disable=too-many-instance-attributes
+class ThreatIntelligenceIndicatorModel(ThreatIntelligenceInformation):
"""Threat intelligence indicator entity.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -21617,7 +29732,7 @@ class ThreatIntelligenceIndicatorModel(ThreatIntelligenceInformation): # pylint
:ivar etag: Etag of the azure resource.
:vartype etag: str
:ivar kind: The kind of the entity. Required. "indicator"
- :vartype kind: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceResourceKindEnum
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceResourceInnerKind
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -21770,8 +29885,8 @@ def __init__( # pylint: disable=too-many-locals
created: Optional[str] = None,
modified: Optional[str] = None,
extensions: Optional[Dict[str, Any]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -21870,7 +29985,7 @@ def __init__( # pylint: disable=too-many-locals
self.extensions = extensions
-class ThreatIntelligenceIndicatorProperties(EntityCommonProperties): # pylint: disable=too-many-instance-attributes
+class ThreatIntelligenceIndicatorProperties(EntityCommonProperties):
"""Describes threat intelligence entity properties.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -22012,8 +30127,8 @@ def __init__( # pylint: disable=too-many-locals
created: Optional[str] = None,
modified: Optional[str] = None,
extensions: Optional[Dict[str, Any]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword threat_intelligence_tags: List of tags.
:paramtype threat_intelligence_tags: list[str]
@@ -22112,7 +30227,7 @@ class ThreatIntelligenceInformationList(_serialization.Model):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar next_link: URL to fetch the next set of information objects.
:vartype next_link: str
@@ -22130,7 +30245,7 @@ class ThreatIntelligenceInformationList(_serialization.Model):
"value": {"key": "value", "type": "[ThreatIntelligenceInformation]"},
}
- def __init__(self, *, value: List["_models.ThreatIntelligenceInformation"], **kwargs):
+ def __init__(self, *, value: List["_models.ThreatIntelligenceInformation"], **kwargs: Any) -> None:
"""
:keyword value: Array of threat intelligence information objects. Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation]
@@ -22154,7 +30269,9 @@ class ThreatIntelligenceKillChainPhase(_serialization.Model):
"phase_name": {"key": "phaseName", "type": "str"},
}
- def __init__(self, *, kill_chain_name: Optional[str] = None, phase_name: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, kill_chain_name: Optional[str] = None, phase_name: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword kill_chain_name: Kill chainName name.
:paramtype kill_chain_name: str
@@ -22166,6 +30283,41 @@ def __init__(self, *, kill_chain_name: Optional[str] = None, phase_name: Optiona
self.phase_name = phase_name
+class ThreatIntelligenceList(_serialization.Model):
+ """List all the threat intelligence objects on the workspace that match the provided query.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of threat intelligence objects.
+ :vartype next_link: str
+ :ivar value: Array of threat intelligence objects on the workspace that match the provided
+ query. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.TIObject]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[TIObject]"},
+ }
+
+ def __init__(self, *, value: List["_models.TIObject"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of threat intelligence objects on the workspace that match the provided
+ query. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.TIObject]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
class ThreatIntelligenceMetric(_serialization.Model):
"""Describes threat intelligence metric.
@@ -22196,8 +30348,8 @@ def __init__(
threat_type_metrics: Optional[List["_models.ThreatIntelligenceMetricEntity"]] = None,
pattern_type_metrics: Optional[List["_models.ThreatIntelligenceMetricEntity"]] = None,
source_metrics: Optional[List["_models.ThreatIntelligenceMetricEntity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword last_updated_time_utc: Last updated indicator metric.
:paramtype last_updated_time_utc: str
@@ -22232,7 +30384,7 @@ class ThreatIntelligenceMetricEntity(_serialization.Model):
"metric_value": {"key": "metricValue", "type": "int"},
}
- def __init__(self, *, metric_name: Optional[str] = None, metric_value: Optional[int] = None, **kwargs):
+ def __init__(self, *, metric_name: Optional[str] = None, metric_value: Optional[int] = None, **kwargs: Any) -> None:
"""
:keyword metric_name: Metric name.
:paramtype metric_name: str
@@ -22255,7 +30407,7 @@ class ThreatIntelligenceMetrics(_serialization.Model):
"properties": {"key": "properties", "type": "ThreatIntelligenceMetric"},
}
- def __init__(self, *, properties: Optional["_models.ThreatIntelligenceMetric"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.ThreatIntelligenceMetric"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Threat intelligence metrics.
:paramtype properties: ~azure.mgmt.securityinsight.models.ThreatIntelligenceMetric
@@ -22267,7 +30419,7 @@ def __init__(self, *, properties: Optional["_models.ThreatIntelligenceMetric"] =
class ThreatIntelligenceMetricsList(_serialization.Model):
"""List of all the threat intelligence metric fields (type/threat type/source).
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar value: Array of threat intelligence metric fields (type/threat type/source). Required.
:vartype value: list[~azure.mgmt.securityinsight.models.ThreatIntelligenceMetrics]
@@ -22281,7 +30433,7 @@ class ThreatIntelligenceMetricsList(_serialization.Model):
"value": {"key": "value", "type": "[ThreatIntelligenceMetrics]"},
}
- def __init__(self, *, value: List["_models.ThreatIntelligenceMetrics"], **kwargs):
+ def __init__(self, *, value: List["_models.ThreatIntelligenceMetrics"], **kwargs: Any) -> None:
"""
:keyword value: Array of threat intelligence metric fields (type/threat type/source). Required.
:paramtype value: list[~azure.mgmt.securityinsight.models.ThreatIntelligenceMetrics]
@@ -22310,8 +30462,8 @@ def __init__(
*,
pattern_type_key: Optional[str] = None,
pattern_type_values: Optional[List["_models.ThreatIntelligenceParsedPatternTypeValue"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword pattern_type_key: Pattern type key.
:paramtype pattern_type_key: str
@@ -22338,7 +30490,7 @@ class ThreatIntelligenceParsedPatternTypeValue(_serialization.Model):
"value": {"key": "value", "type": "str"},
}
- def __init__(self, *, value_type: Optional[str] = None, value: Optional[str] = None, **kwargs):
+ def __init__(self, *, value_type: Optional[str] = None, value: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword value_type: Type of the value.
:paramtype value_type: str
@@ -22357,8 +30509,7 @@ class ThreatIntelligenceSortingCriteria(_serialization.Model):
:vartype item_key: str
:ivar sort_order: Sorting order (ascending/descending/unsorted). Known values are: "unsorted",
"ascending", and "descending".
- :vartype sort_order: str or
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceSortingCriteriaEnum
+ :vartype sort_order: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceSortingOrder
"""
_attribute_map = {
@@ -22370,16 +30521,15 @@ def __init__(
self,
*,
item_key: Optional[str] = None,
- sort_order: Optional[Union[str, "_models.ThreatIntelligenceSortingCriteriaEnum"]] = None,
- **kwargs
- ):
+ sort_order: Optional[Union[str, "_models.ThreatIntelligenceSortingOrder"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword item_key: Column name.
:paramtype item_key: str
:keyword sort_order: Sorting order (ascending/descending/unsorted). Known values are:
"unsorted", "ascending", and "descending".
- :paramtype sort_order: str or
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceSortingCriteriaEnum
+ :paramtype sort_order: str or ~azure.mgmt.securityinsight.models.ThreatIntelligenceSortingOrder
"""
super().__init__(**kwargs)
self.item_key = item_key
@@ -22389,15 +30539,16 @@ def __init__(
class TICheckRequirements(DataConnectorsCheckRequirements):
"""Threat Intelligence Platforms data connector check requirements.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -22412,7 +30563,7 @@ class TICheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
@@ -22425,37 +30576,22 @@ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
class TICheckRequirementsProperties(DataConnectorTenantId):
"""Threat Intelligence Platforms data connector required properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
-
class TIDataConnector(DataConnector):
"""Represents threat intelligence data connector.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -22470,10 +30606,11 @@ class TIDataConnector(DataConnector):
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -22510,8 +30647,8 @@ def __init__(
tenant_id: Optional[str] = None,
tip_lookback_period: Optional[datetime.datetime] = None,
data_types: Optional["_models.TIDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -22532,7 +30669,7 @@ def __init__(
class TIDataConnectorDataTypes(_serialization.Model):
"""The available data types for TI (Threat Intelligence) data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar indicators: Data type for indicators connection. Required.
:vartype indicators: ~azure.mgmt.securityinsight.models.TIDataConnectorDataTypesIndicators
@@ -22546,7 +30683,7 @@ class TIDataConnectorDataTypes(_serialization.Model):
"indicators": {"key": "indicators", "type": "TIDataConnectorDataTypesIndicators"},
}
- def __init__(self, *, indicators: "_models.TIDataConnectorDataTypesIndicators", **kwargs):
+ def __init__(self, *, indicators: "_models.TIDataConnectorDataTypesIndicators", **kwargs: Any) -> None:
"""
:keyword indicators: Data type for indicators connection. Required.
:paramtype indicators: ~azure.mgmt.securityinsight.models.TIDataConnectorDataTypesIndicators
@@ -22558,34 +30695,18 @@ def __init__(self, *, indicators: "_models.TIDataConnectorDataTypesIndicators",
class TIDataConnectorDataTypesIndicators(DataConnectorDataTypeCommon):
"""Data type for indicators connection.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
:vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
"""
- _validation = {
- "state": {"required": True},
- }
-
- _attribute_map = {
- "state": {"key": "state", "type": "str"},
- }
-
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
-
class TIDataConnectorProperties(DataConnectorTenantId):
"""TI (Threat Intelligence) data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
@@ -22612,8 +30733,8 @@ def __init__(
tenant_id: str,
data_types: "_models.TIDataConnectorDataTypes",
tip_lookback_period: Optional[datetime.datetime] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from. Required.
:paramtype tenant_id: str
@@ -22630,7 +30751,7 @@ def __init__(
class TimelineAggregation(_serialization.Model):
"""timeline aggregation information per kind.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar count: the total items found for a kind. Required.
:vartype count: int
@@ -22649,7 +30770,7 @@ class TimelineAggregation(_serialization.Model):
"kind": {"key": "kind", "type": "str"},
}
- def __init__(self, *, count: int, kind: Union[str, "_models.EntityTimelineKind"], **kwargs):
+ def __init__(self, *, count: int, kind: Union[str, "_models.EntityTimelineKind"], **kwargs: Any) -> None:
"""
:keyword count: the total items found for a kind. Required.
:paramtype count: int
@@ -22665,7 +30786,7 @@ def __init__(self, *, count: int, kind: Union[str, "_models.EntityTimelineKind"]
class TimelineError(_serialization.Model):
"""Timeline Query Errors.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: the query kind. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -22693,8 +30814,8 @@ def __init__(
kind: Union[str, "_models.EntityTimelineKind"],
error_message: str,
query_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword kind: the query kind. Required. Known values are: "Activity", "Bookmark",
"SecurityAlert", and "Anomaly".
@@ -22713,7 +30834,7 @@ def __init__(
class TimelineResultsMetadata(_serialization.Model):
"""Expansion result metadata.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar total_count: the total items found for the timeline request. Required.
:vartype total_count: int
@@ -22740,8 +30861,8 @@ def __init__(
total_count: int,
aggregations: List["_models.TimelineAggregation"],
errors: Optional[List["_models.TimelineError"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword total_count: the total items found for the timeline request. Required.
:paramtype total_count: int
@@ -22759,15 +30880,16 @@ def __init__(
class TiTaxiiCheckRequirements(DataConnectorsCheckRequirements):
"""Threat Intelligence TAXII data connector check requirements.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar kind: Describes the kind of connector to be checked. Required. Known values are:
"AzureActiveDirectory", "AzureSecurityCenter", "MicrosoftCloudAppSecurity",
"ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM",
- "Office365Project", "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "Office365Project", "MicrosoftPurviewInformationProtection", "OfficePowerBI",
+ "AmazonWebServicesCloudTrail", "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -22782,7 +30904,7 @@ class TiTaxiiCheckRequirements(DataConnectorsCheckRequirements):
"tenant_id": {"key": "properties.tenantId", "type": "str"},
}
- def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from.
:paramtype tenant_id: str
@@ -22795,37 +30917,22 @@ def __init__(self, *, tenant_id: Optional[str] = None, **kwargs):
class TiTaxiiCheckRequirementsProperties(DataConnectorTenantId):
"""Threat Intelligence TAXII data connector required properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
"""
- _validation = {
- "tenant_id": {"required": True},
- }
-
- _attribute_map = {
- "tenant_id": {"key": "tenantId", "type": "str"},
- }
-
- def __init__(self, *, tenant_id: str, **kwargs):
- """
- :keyword tenant_id: The tenant id to connect to, and get the data from. Required.
- :paramtype tenant_id: str
- """
- super().__init__(tenant_id=tenant_id, **kwargs)
-
-class TiTaxiiDataConnector(DataConnector): # pylint: disable=too-many-instance-attributes
+class TiTaxiiDataConnector(DataConnector):
"""Data connector to pull Threat intelligence data from TAXII 2.0/2.1 server.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -22840,10 +30947,11 @@ class TiTaxiiDataConnector(DataConnector): # pylint: disable=too-many-instance-
:ivar kind: The data connector kind. Required. Known values are: "AzureActiveDirectory",
"AzureSecurityCenter", "MicrosoftCloudAppSecurity", "ThreatIntelligence",
"ThreatIntelligenceTaxii", "Office365", "OfficeATP", "OfficeIRM", "Office365Project",
- "OfficePowerBI", "AmazonWebServicesCloudTrail", "AmazonWebServicesS3",
- "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365",
- "MicrosoftThreatProtection", "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", and
- "IOT".
+ "MicrosoftPurviewInformationProtection", "OfficePowerBI", "AmazonWebServicesCloudTrail",
+ "AmazonWebServicesS3", "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection", "Dynamics365", "MicrosoftThreatProtection",
+ "MicrosoftThreatIntelligence", "GenericUI", "APIPolling", "IOT", "GCP", "RestApiPoller", and
+ "PurviewAudit".
:vartype kind: str or ~azure.mgmt.securityinsight.models.DataConnectorKind
:ivar tenant_id: The tenant id to connect to, and get the data from.
:vartype tenant_id: str
@@ -22909,8 +31017,8 @@ def __init__(
taxii_lookback_period: Optional[datetime.datetime] = None,
polling_frequency: Optional[Union[str, "_models.PollingFrequency"]] = None,
data_types: Optional["_models.TiTaxiiDataConnectorDataTypes"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -22953,7 +31061,7 @@ def __init__(
class TiTaxiiDataConnectorDataTypes(_serialization.Model):
"""The available data types for Threat Intelligence TAXII data connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar taxii_client: Data type for TAXII connector. Required.
:vartype taxii_client:
@@ -22968,7 +31076,7 @@ class TiTaxiiDataConnectorDataTypes(_serialization.Model):
"taxii_client": {"key": "taxiiClient", "type": "TiTaxiiDataConnectorDataTypesTaxiiClient"},
}
- def __init__(self, *, taxii_client: "_models.TiTaxiiDataConnectorDataTypesTaxiiClient", **kwargs):
+ def __init__(self, *, taxii_client: "_models.TiTaxiiDataConnectorDataTypesTaxiiClient", **kwargs: Any) -> None:
"""
:keyword taxii_client: Data type for TAXII connector. Required.
:paramtype taxii_client:
@@ -22981,34 +31089,18 @@ def __init__(self, *, taxii_client: "_models.TiTaxiiDataConnectorDataTypesTaxiiC
class TiTaxiiDataConnectorDataTypesTaxiiClient(DataConnectorDataTypeCommon):
"""Data type for TAXII connector.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar state: Describe whether this data type connection is enabled or not. Required. Known
values are: "Enabled" and "Disabled".
:vartype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
"""
- _validation = {
- "state": {"required": True},
- }
-
- _attribute_map = {
- "state": {"key": "state", "type": "str"},
- }
-
- def __init__(self, *, state: Union[str, "_models.DataTypeState"], **kwargs):
- """
- :keyword state: Describe whether this data type connection is enabled or not. Required. Known
- values are: "Enabled" and "Disabled".
- :paramtype state: str or ~azure.mgmt.securityinsight.models.DataTypeState
- """
- super().__init__(state=state, **kwargs)
-
class TiTaxiiDataConnectorProperties(DataConnectorTenantId):
"""Threat Intelligence TAXII data connector properties.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
:ivar tenant_id: The tenant id to connect to, and get the data from. Required.
:vartype tenant_id: str
@@ -23066,8 +31158,8 @@ def __init__(
user_name: Optional[str] = None,
password: Optional[str] = None,
taxii_lookback_period: Optional[datetime.datetime] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tenant_id: The tenant id to connect to, and get the data from. Required.
:paramtype tenant_id: str
@@ -23104,15 +31196,139 @@ def __init__(
self.data_types = data_types
+class TriggeredAnalyticsRuleRun(ResourceWithEtag):
+ """The triggered analytics rule run.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar execution_time_utc: Required.
+ :vartype execution_time_utc: ~datetime.datetime
+ :ivar rule_id: Required.
+ :vartype rule_id: str
+ :ivar triggered_analytics_rule_run_id: Required.
+ :vartype triggered_analytics_rule_run_id: str
+ :ivar provisioning_state: The triggered analytics rule run provisioning state. Required. Known
+ values are: "Accepted", "InProgress", "Succeeded", "Failed", and "Canceled".
+ :vartype provisioning_state: str or ~azure.mgmt.securityinsight.models.ProvisioningState
+ :ivar rule_run_additional_data: Dictionary of :code:``.
+ :vartype rule_run_additional_data: dict[str, any]
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "execution_time_utc": {"required": True},
+ "rule_id": {"required": True},
+ "triggered_analytics_rule_run_id": {"required": True},
+ "provisioning_state": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "execution_time_utc": {"key": "properties.executionTimeUtc", "type": "iso-8601"},
+ "rule_id": {"key": "properties.ruleId", "type": "str"},
+ "triggered_analytics_rule_run_id": {"key": "properties.triggeredAnalyticsRuleRunId", "type": "str"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
+ "rule_run_additional_data": {"key": "properties.ruleRunAdditionalData", "type": "{object}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ execution_time_utc: datetime.datetime,
+ rule_id: str,
+ triggered_analytics_rule_run_id: str,
+ provisioning_state: Union[str, "_models.ProvisioningState"],
+ etag: Optional[str] = None,
+ rule_run_additional_data: Optional[Dict[str, Any]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword execution_time_utc: Required.
+ :paramtype execution_time_utc: ~datetime.datetime
+ :keyword rule_id: Required.
+ :paramtype rule_id: str
+ :keyword triggered_analytics_rule_run_id: Required.
+ :paramtype triggered_analytics_rule_run_id: str
+ :keyword provisioning_state: The triggered analytics rule run provisioning state. Required.
+ Known values are: "Accepted", "InProgress", "Succeeded", "Failed", and "Canceled".
+ :paramtype provisioning_state: str or ~azure.mgmt.securityinsight.models.ProvisioningState
+ :keyword rule_run_additional_data: Dictionary of :code:``.
+ :paramtype rule_run_additional_data: dict[str, any]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.execution_time_utc = execution_time_utc
+ self.rule_id = rule_id
+ self.triggered_analytics_rule_run_id = triggered_analytics_rule_run_id
+ self.provisioning_state = provisioning_state
+ self.rule_run_additional_data = rule_run_additional_data
+
+
+class TriggeredAnalyticsRuleRuns(_serialization.Model):
+ """The triggered analytics rule run array.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar value: Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun]
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _validation = {
+ "value": {"required": True},
+ "next_link": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[TriggeredAnalyticsRuleRun]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, *, value: List["_models.TriggeredAnalyticsRuleRun"], **kwargs: Any) -> None:
+ """
+ :keyword value: Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun]
+ """
+ super().__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
class Ueba(Settings):
"""Settings with single toggle.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -23140,31 +31356,90 @@ class Ueba(Settings):
}
_attribute_map = {
- "id": {"key": "id", "type": "str"},
- "name": {"key": "name", "type": "str"},
- "type": {"key": "type", "type": "str"},
- "system_data": {"key": "systemData", "type": "SystemData"},
- "etag": {"key": "etag", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "data_sources": {"key": "properties.dataSources", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ data_sources: Optional[List[Union[str, "_models.UebaDataSources"]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword data_sources: The relevant data sources that enriched by ueba.
+ :paramtype data_sources: list[str or ~azure.mgmt.securityinsight.models.UebaDataSources]
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.kind: str = "Ueba"
+ self.data_sources = data_sources
+
+
+class UndoActionPayload(_serialization.Model):
+ """Represents the undo action.
+
+ :ivar action_id: The action ID of the original action that was performed and now need to undo.
+ :vartype action_id: str
+ """
+
+ _attribute_map = {
+ "action_id": {"key": "actionId", "type": "str"},
+ }
+
+ def __init__(self, *, action_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword action_id: The action ID of the original action that was performed and now need to
+ undo.
+ :paramtype action_id: str
+ """
+ super().__init__(**kwargs)
+ self.action_id = action_id
+
+
+class UnlockUserAction(Action):
+ """Represents an unlock user action.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar kind: The actions kind. Required. Known values are: "LockUser" and "UnlockUser".
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.ListActionKind
+ :ivar user: The user to unlock.
+ :vartype user: str
+ :ivar failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :vartype failure_reason: str
+ """
+
+ _validation = {
+ "kind": {"required": True},
+ }
+
+ _attribute_map = {
"kind": {"key": "kind", "type": "str"},
- "data_sources": {"key": "properties.dataSources", "type": "[str]"},
+ "user": {"key": "user", "type": "str"},
+ "failure_reason": {"key": "failureReason", "type": "str"},
}
- def __init__(
- self,
- *,
- etag: Optional[str] = None,
- data_sources: Optional[List[Union[str, "_models.UebaDataSources"]]] = None,
- **kwargs
- ):
+ def __init__(self, *, user: Optional[str] = None, failure_reason: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword data_sources: The relevant data sources that enriched by ueba.
- :paramtype data_sources: list[str or ~azure.mgmt.securityinsight.models.UebaDataSources]
+ :keyword user: The user to unlock.
+ :paramtype user: str
+ :keyword failure_reason: The reason of the failure of the action. Empty if the action is
+ successful.
+ :paramtype failure_reason: str
"""
- super().__init__(etag=etag, **kwargs)
- self.kind: str = "Ueba"
- self.data_sources = data_sources
+ super().__init__(**kwargs)
+ self.kind: str = "UnlockUser"
+ self.user = user
+ self.failure_reason = failure_reason
class UrlEntity(Entity):
@@ -23172,10 +31447,10 @@ class UrlEntity(Entity):
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -23189,7 +31464,7 @@ class UrlEntity(Entity):
"AzureResource", "CloudApplication", "DnsResolution", "FileHash", "Ip", "Malware", "Process",
"RegistryKey", "RegistryValue", "SecurityGroup", "Url", "IoTDevice", "SecurityAlert",
"Bookmark", "MailCluster", "MailMessage", "Mailbox", "SubmissionMail", and "Nic".
- :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKind
+ :vartype kind: str or ~azure.mgmt.securityinsight.models.EntityKindEnum
:ivar additional_data: A bag of custom fields that should be part of the entity and will be
presented to the user.
:vartype additional_data: dict[str, any]
@@ -23222,7 +31497,7 @@ class UrlEntity(Entity):
"url": {"key": "properties.url", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.kind: str = "Url"
@@ -23258,7 +31533,7 @@ class UrlEntityProperties(EntityCommonProperties):
"url": {"key": "url", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.url = None
@@ -23288,7 +31563,7 @@ class UserInfo(_serialization.Model):
"object_id": {"key": "objectId", "type": "str"},
}
- def __init__(self, *, object_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, object_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword object_id: The object id of the user.
:paramtype object_id: str
@@ -23319,7 +31594,7 @@ class ValidationError(_serialization.Model):
"error_messages": {"key": "errorMessages", "type": "[str]"},
}
- def __init__(self, *, record_index: Optional[int] = None, **kwargs):
+ def __init__(self, *, record_index: Optional[int] = None, **kwargs: Any) -> None:
"""
:keyword record_index: The number of the record that has the error.
:paramtype record_index: int
@@ -23329,13 +31604,74 @@ def __init__(self, *, record_index: Optional[int] = None, **kwargs):
self.error_messages = None
-class Watchlist(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
+class Warning(_serialization.Model):
+ """Warning response structure.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar warning: Warning data.
+ :vartype warning: ~azure.mgmt.securityinsight.models.WarningBody
+ """
+
+ _validation = {
+ "warning": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "warning": {"key": "warning", "type": "WarningBody"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.warning = None
+
+
+class WarningBody(_serialization.Model):
+ """Warning details.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: An identifier for the warning. Codes are invariant and are intended to be consumed
+ programmatically. Known values are: "SourceControlWarning_DeleteServicePrincipal",
+ "SourceControlWarning_DeletePipelineFromAzureDevOps",
+ "SourceControlWarning_DeleteWorkflowAndSecretFromGitHub",
+ "SourceControlWarning_DeleteRoleAssignment", and "SourceControl_DeletedWithWarnings".
+ :vartype code: str or ~azure.mgmt.securityinsight.models.WarningCode
+ :ivar message: A message describing the warning, intended to be suitable for display in a user
+ interface.
+ :vartype message: str
+ :ivar details:
+ :vartype details: list[~azure.mgmt.securityinsight.models.WarningBody]
+ """
+
+ _validation = {
+ "code": {"readonly": True},
+ "message": {"readonly": True},
+ "details": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "details": {"key": "details", "type": "[WarningBody]"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.details = None
+
+
+class Watchlist(ResourceWithEtag):
"""Represents a Watchlist in Azure Security Insights.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -23396,6 +31732,9 @@ class Watchlist(ResourceWithEtag): # pylint: disable=too-many-instance-attribut
:ivar upload_status: The status of the Watchlist upload : New, InProgress or Complete. Pls note
: When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted.
:vartype upload_status: str
+ :ivar provisioning_state: The triggered analytics rule run provisioning state. Known values
+ are: "Accepted", "InProgress", "Succeeded", "Failed", and "Canceled".
+ :vartype provisioning_state: str or ~azure.mgmt.securityinsight.models.ProvisioningState
"""
_validation = {
@@ -23432,6 +31771,7 @@ class Watchlist(ResourceWithEtag): # pylint: disable=too-many-instance-attribut
"items_search_key": {"key": "properties.itemsSearchKey", "type": "str"},
"content_type": {"key": "properties.contentType", "type": "str"},
"upload_status": {"key": "properties.uploadStatus", "type": "str"},
+ "provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__( # pylint: disable=too-many-locals
@@ -23459,8 +31799,9 @@ def __init__( # pylint: disable=too-many-locals
items_search_key: Optional[str] = None,
content_type: Optional[str] = None,
upload_status: Optional[str] = None,
- **kwargs
- ):
+ provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword etag: Etag of the azure resource.
:paramtype etag: str
@@ -23513,6 +31854,9 @@ def __init__( # pylint: disable=too-many-locals
:keyword upload_status: The status of the Watchlist upload : New, InProgress or Complete. Pls
note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted.
:paramtype upload_status: str
+ :keyword provisioning_state: The triggered analytics rule run provisioning state. Known values
+ are: "Accepted", "InProgress", "Succeeded", "Failed", and "Canceled".
+ :paramtype provisioning_state: str or ~azure.mgmt.securityinsight.models.ProvisioningState
"""
super().__init__(etag=etag, **kwargs)
self.watchlist_id = watchlist_id
@@ -23536,15 +31880,241 @@ def __init__( # pylint: disable=too-many-locals
self.items_search_key = items_search_key
self.content_type = content_type
self.upload_status = upload_status
+ self.provisioning_state = provisioning_state
+
+
+class WatchlistItem(ResourceWithEtag):
+ """Represents a Watchlist item in Azure Security Insights.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Etag of the azure resource.
+ :vartype etag: str
+ :ivar watchlist_item_type: The type of the watchlist item.
+ :vartype watchlist_item_type: str
+ :ivar watchlist_item_id: The id (a Guid) of the watchlist item.
+ :vartype watchlist_item_id: str
+ :ivar tenant_id: The tenantId to which the watchlist item belongs to.
+ :vartype tenant_id: str
+ :ivar is_deleted: A flag that indicates if the watchlist item is deleted or not.
+ :vartype is_deleted: bool
+ :ivar created: The time the watchlist item was created.
+ :vartype created: ~datetime.datetime
+ :ivar updated: The last time the watchlist item was updated.
+ :vartype updated: ~datetime.datetime
+ :ivar created_by: Describes a user that created the watchlist item.
+ :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar updated_by: Describes a user that updated the watchlist item.
+ :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :ivar items_key_value: key-value pairs for a watchlist item.
+ :vartype items_key_value: JSON
+ :ivar entity_mapping: key-value pairs for a watchlist item entity mapping.
+ :vartype entity_mapping: JSON
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "watchlist_item_type": {"key": "properties.watchlistItemType", "type": "str"},
+ "watchlist_item_id": {"key": "properties.watchlistItemId", "type": "str"},
+ "tenant_id": {"key": "properties.tenantId", "type": "str"},
+ "is_deleted": {"key": "properties.isDeleted", "type": "bool"},
+ "created": {"key": "properties.created", "type": "iso-8601"},
+ "updated": {"key": "properties.updated", "type": "iso-8601"},
+ "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
+ "updated_by": {"key": "properties.updatedBy", "type": "UserInfo"},
+ "items_key_value": {"key": "properties.itemsKeyValue", "type": "object"},
+ "entity_mapping": {"key": "properties.entityMapping", "type": "object"},
+ }
+
+ def __init__(
+ self,
+ *,
+ etag: Optional[str] = None,
+ watchlist_item_type: Optional[str] = None,
+ watchlist_item_id: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ is_deleted: Optional[bool] = None,
+ created: Optional[datetime.datetime] = None,
+ updated: Optional[datetime.datetime] = None,
+ created_by: Optional["_models.UserInfo"] = None,
+ updated_by: Optional["_models.UserInfo"] = None,
+ items_key_value: Optional[JSON] = None,
+ entity_mapping: Optional[JSON] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword etag: Etag of the azure resource.
+ :paramtype etag: str
+ :keyword watchlist_item_type: The type of the watchlist item.
+ :paramtype watchlist_item_type: str
+ :keyword watchlist_item_id: The id (a Guid) of the watchlist item.
+ :paramtype watchlist_item_id: str
+ :keyword tenant_id: The tenantId to which the watchlist item belongs to.
+ :paramtype tenant_id: str
+ :keyword is_deleted: A flag that indicates if the watchlist item is deleted or not.
+ :paramtype is_deleted: bool
+ :keyword created: The time the watchlist item was created.
+ :paramtype created: ~datetime.datetime
+ :keyword updated: The last time the watchlist item was updated.
+ :paramtype updated: ~datetime.datetime
+ :keyword created_by: Describes a user that created the watchlist item.
+ :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword updated_by: Describes a user that updated the watchlist item.
+ :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
+ :keyword items_key_value: key-value pairs for a watchlist item.
+ :paramtype items_key_value: JSON
+ :keyword entity_mapping: key-value pairs for a watchlist item entity mapping.
+ :paramtype entity_mapping: JSON
+ """
+ super().__init__(etag=etag, **kwargs)
+ self.watchlist_item_type = watchlist_item_type
+ self.watchlist_item_id = watchlist_item_id
+ self.tenant_id = tenant_id
+ self.is_deleted = is_deleted
+ self.created = created
+ self.updated = updated
+ self.created_by = created_by
+ self.updated_by = updated_by
+ self.items_key_value = items_key_value
+ self.entity_mapping = entity_mapping
+
+
+class WatchlistItemList(_serialization.Model):
+ """List all the watchlist items.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of watchlist item.
+ :vartype next_link: str
+ :ivar value: Array of watchlist items. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.WatchlistItem]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[WatchlistItem]"},
+ }
+
+ def __init__(self, *, value: List["_models.WatchlistItem"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of watchlist items. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.WatchlistItem]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class WatchlistList(_serialization.Model):
+ """List all the watchlists.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of watchlists.
+ :vartype next_link: str
+ :ivar value: Array of watchlist. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.Watchlist]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Watchlist]"},
+ }
+
+ def __init__(self, *, value: List["_models.Watchlist"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of watchlist. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.Watchlist]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class Webhook(_serialization.Model):
+ """Detail about the webhook object.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar webhook_id: Unique identifier for the webhook.
+ :vartype webhook_id: str
+ :ivar webhook_url: URL that gets invoked by the webhook.
+ :vartype webhook_url: str
+ :ivar webhook_secret_update_time: Time when the webhook secret was updated.
+ :vartype webhook_secret_update_time: ~datetime.datetime
+ :ivar rotate_webhook_secret: A flag to instruct the backend service to rotate webhook secret.
+ :vartype rotate_webhook_secret: bool
+ """
+
+ _validation = {
+ "webhook_id": {"readonly": True},
+ "webhook_url": {"readonly": True},
+ "webhook_secret_update_time": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "webhook_id": {"key": "webhookId", "type": "str"},
+ "webhook_url": {"key": "webhookUrl", "type": "str"},
+ "webhook_secret_update_time": {"key": "webhookSecretUpdateTime", "type": "iso-8601"},
+ "rotate_webhook_secret": {"key": "rotateWebhookSecret", "type": "bool"},
+ }
+
+ def __init__(self, *, rotate_webhook_secret: Optional[bool] = None, **kwargs: Any) -> None:
+ """
+ :keyword rotate_webhook_secret: A flag to instruct the backend service to rotate webhook
+ secret.
+ :paramtype rotate_webhook_secret: bool
+ """
+ super().__init__(**kwargs)
+ self.webhook_id = None
+ self.webhook_url = None
+ self.webhook_secret_update_time = None
+ self.rotate_webhook_secret = rotate_webhook_secret
-class WatchlistItem(ResourceWithEtag): # pylint: disable=too-many-instance-attributes
- """Represents a Watchlist item in Azure Security Insights.
+class WorkspaceManagerAssignment(AzureEntityResource):
+ """The workspace manager assignment.
Variables are only populated by the server, and will be ignored when sending a request.
- :ivar id: Fully qualified resource ID for the resource. Ex -
- /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
@@ -23554,28 +32124,19 @@ class WatchlistItem(ResourceWithEtag): # pylint: disable=too-many-instance-attr
:ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
information.
:vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
- :ivar etag: Etag of the azure resource.
+ :ivar etag: Resource Etag.
:vartype etag: str
- :ivar watchlist_item_type: The type of the watchlist item.
- :vartype watchlist_item_type: str
- :ivar watchlist_item_id: The id (a Guid) of the watchlist item.
- :vartype watchlist_item_id: str
- :ivar tenant_id: The tenantId to which the watchlist item belongs to.
- :vartype tenant_id: str
- :ivar is_deleted: A flag that indicates if the watchlist item is deleted or not.
- :vartype is_deleted: bool
- :ivar created: The time the watchlist item was created.
- :vartype created: ~datetime.datetime
- :ivar updated: The last time the watchlist item was updated.
- :vartype updated: ~datetime.datetime
- :ivar created_by: Describes a user that created the watchlist item.
- :vartype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar updated_by: Describes a user that updated the watchlist item.
- :vartype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :ivar items_key_value: key-value pairs for a watchlist item.
- :vartype items_key_value: dict[str, any]
- :ivar entity_mapping: key-value pairs for a watchlist item entity mapping.
- :vartype entity_mapping: dict[str, any]
+ :ivar target_resource_name: The resource name of the workspace manager group targeted by the
+ workspace manager assignment.
+ :vartype target_resource_name: str
+ :ivar last_job_end_time: The time the last job associated to this assignment ended at.
+ :vartype last_job_end_time: ~datetime.datetime
+ :ivar last_job_provisioning_state: State of the last job associated to this assignment. Known
+ values are: "Accepted", "InProgress", "Succeeded", "Failed", and "Canceled".
+ :vartype last_job_provisioning_state: str or
+ ~azure.mgmt.securityinsight.models.ProvisioningState
+ :ivar items: List of resources included in this workspace manager assignment.
+ :vartype items: list[~azure.mgmt.securityinsight.models.AssignmentItem]
"""
_validation = {
@@ -23583,6 +32144,9 @@ class WatchlistItem(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ "last_job_end_time": {"readonly": True},
+ "last_job_provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -23591,82 +32155,44 @@ class WatchlistItem(ResourceWithEtag): # pylint: disable=too-many-instance-attr
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"etag": {"key": "etag", "type": "str"},
- "watchlist_item_type": {"key": "properties.watchlistItemType", "type": "str"},
- "watchlist_item_id": {"key": "properties.watchlistItemId", "type": "str"},
- "tenant_id": {"key": "properties.tenantId", "type": "str"},
- "is_deleted": {"key": "properties.isDeleted", "type": "bool"},
- "created": {"key": "properties.created", "type": "iso-8601"},
- "updated": {"key": "properties.updated", "type": "iso-8601"},
- "created_by": {"key": "properties.createdBy", "type": "UserInfo"},
- "updated_by": {"key": "properties.updatedBy", "type": "UserInfo"},
- "items_key_value": {"key": "properties.itemsKeyValue", "type": "{object}"},
- "entity_mapping": {"key": "properties.entityMapping", "type": "{object}"},
+ "target_resource_name": {"key": "properties.targetResourceName", "type": "str"},
+ "last_job_end_time": {"key": "properties.lastJobEndTime", "type": "iso-8601"},
+ "last_job_provisioning_state": {"key": "properties.lastJobProvisioningState", "type": "str"},
+ "items": {"key": "properties.items", "type": "[AssignmentItem]"},
}
def __init__(
self,
*,
- etag: Optional[str] = None,
- watchlist_item_type: Optional[str] = None,
- watchlist_item_id: Optional[str] = None,
- tenant_id: Optional[str] = None,
- is_deleted: Optional[bool] = None,
- created: Optional[datetime.datetime] = None,
- updated: Optional[datetime.datetime] = None,
- created_by: Optional["_models.UserInfo"] = None,
- updated_by: Optional["_models.UserInfo"] = None,
- items_key_value: Optional[Dict[str, Any]] = None,
- entity_mapping: Optional[Dict[str, Any]] = None,
- **kwargs
- ):
+ target_resource_name: Optional[str] = None,
+ items: Optional[List["_models.AssignmentItem"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword etag: Etag of the azure resource.
- :paramtype etag: str
- :keyword watchlist_item_type: The type of the watchlist item.
- :paramtype watchlist_item_type: str
- :keyword watchlist_item_id: The id (a Guid) of the watchlist item.
- :paramtype watchlist_item_id: str
- :keyword tenant_id: The tenantId to which the watchlist item belongs to.
- :paramtype tenant_id: str
- :keyword is_deleted: A flag that indicates if the watchlist item is deleted or not.
- :paramtype is_deleted: bool
- :keyword created: The time the watchlist item was created.
- :paramtype created: ~datetime.datetime
- :keyword updated: The last time the watchlist item was updated.
- :paramtype updated: ~datetime.datetime
- :keyword created_by: Describes a user that created the watchlist item.
- :paramtype created_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword updated_by: Describes a user that updated the watchlist item.
- :paramtype updated_by: ~azure.mgmt.securityinsight.models.UserInfo
- :keyword items_key_value: key-value pairs for a watchlist item.
- :paramtype items_key_value: dict[str, any]
- :keyword entity_mapping: key-value pairs for a watchlist item entity mapping.
- :paramtype entity_mapping: dict[str, any]
+ :keyword target_resource_name: The resource name of the workspace manager group targeted by the
+ workspace manager assignment.
+ :paramtype target_resource_name: str
+ :keyword items: List of resources included in this workspace manager assignment.
+ :paramtype items: list[~azure.mgmt.securityinsight.models.AssignmentItem]
"""
- super().__init__(etag=etag, **kwargs)
- self.watchlist_item_type = watchlist_item_type
- self.watchlist_item_id = watchlist_item_id
- self.tenant_id = tenant_id
- self.is_deleted = is_deleted
- self.created = created
- self.updated = updated
- self.created_by = created_by
- self.updated_by = updated_by
- self.items_key_value = items_key_value
- self.entity_mapping = entity_mapping
+ super().__init__(**kwargs)
+ self.target_resource_name = target_resource_name
+ self.last_job_end_time = None
+ self.last_job_provisioning_state = None
+ self.items = items
-class WatchlistItemList(_serialization.Model):
- """List all the watchlist items.
+class WorkspaceManagerAssignmentList(_serialization.Model):
+ """List of all the workspace manager assignments.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to server.
- :ivar next_link: URL to fetch the next set of watchlist item.
+ :ivar next_link: URL to fetch the next set of workspace manager assignments.
:vartype next_link: str
- :ivar value: Array of watchlist items. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.WatchlistItem]
+ :ivar value: Array of workspace manager assignments. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment]
"""
_validation = {
@@ -23676,30 +32202,80 @@ class WatchlistItemList(_serialization.Model):
_attribute_map = {
"next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[WatchlistItem]"},
+ "value": {"key": "value", "type": "[WorkspaceManagerAssignment]"},
}
- def __init__(self, *, value: List["_models.WatchlistItem"], **kwargs):
+ def __init__(self, *, value: List["_models.WorkspaceManagerAssignment"], **kwargs: Any) -> None:
"""
- :keyword value: Array of watchlist items. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.WatchlistItem]
+ :keyword value: Array of workspace manager assignments. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment]
"""
super().__init__(**kwargs)
self.next_link = None
self.value = value
-class WatchlistList(_serialization.Model):
- """List all the watchlists.
+class WorkspaceManagerConfiguration(AzureEntityResource):
+ """The workspace manager configuration.
Variables are only populated by the server, and will be ignored when sending a request.
- All required parameters must be populated in order to send to Azure.
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Resource Etag.
+ :vartype etag: str
+ :ivar mode: The current mode of the workspace manager configuration. Known values are:
+ "Enabled" and "Disabled".
+ :vartype mode: str or ~azure.mgmt.securityinsight.models.Mode
+ """
- :ivar next_link: URL to fetch the next set of watchlists.
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "mode": {"key": "properties.mode", "type": "str"},
+ }
+
+ def __init__(self, *, mode: Optional[Union[str, "_models.Mode"]] = None, **kwargs: Any) -> None:
+ """
+ :keyword mode: The current mode of the workspace manager configuration. Known values are:
+ "Enabled" and "Disabled".
+ :paramtype mode: str or ~azure.mgmt.securityinsight.models.Mode
+ """
+ super().__init__(**kwargs)
+ self.mode = mode
+
+
+class WorkspaceManagerConfigurationList(_serialization.Model):
+ """List all the workspace manager configurations for the workspace.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of workspace manager configurations.
:vartype next_link: str
- :ivar value: Array of watchlist. Required.
- :vartype value: list[~azure.mgmt.securityinsight.models.Watchlist]
+ :ivar value: Array of workspace manager configurations. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration]
"""
_validation = {
@@ -23709,61 +32285,213 @@ class WatchlistList(_serialization.Model):
_attribute_map = {
"next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[Watchlist]"},
+ "value": {"key": "value", "type": "[WorkspaceManagerConfiguration]"},
}
- def __init__(self, *, value: List["_models.Watchlist"], **kwargs):
+ def __init__(self, *, value: List["_models.WorkspaceManagerConfiguration"], **kwargs: Any) -> None:
"""
- :keyword value: Array of watchlist. Required.
- :paramtype value: list[~azure.mgmt.securityinsight.models.Watchlist]
+ :keyword value: Array of workspace manager configurations. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration]
"""
super().__init__(**kwargs)
self.next_link = None
self.value = value
-class Webhook(_serialization.Model):
- """Detail about the webhook object.
+class WorkspaceManagerGroup(AzureEntityResource):
+ """The workspace manager group.
- :ivar webhook_id: Unique identifier for the webhook.
- :vartype webhook_id: str
- :ivar webhook_url: URL that gets invoked by the webhook.
- :vartype webhook_url: str
- :ivar webhook_secret_update_time: Time when the webhook secret was updated.
- :vartype webhook_secret_update_time: str
- :ivar rotate_webhook_secret: A flag to instruct the backend service to rotate webhook secret.
- :vartype rotate_webhook_secret: bool
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Resource Etag.
+ :vartype etag: str
+ :ivar description: The description of the workspace manager group.
+ :vartype description: str
+ :ivar display_name: The display name of the workspace manager group.
+ :vartype display_name: str
+ :ivar member_resource_names: The names of the workspace manager members participating in this
+ group.
+ :vartype member_resource_names: list[str]
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ }
+
_attribute_map = {
- "webhook_id": {"key": "webhookId", "type": "str"},
- "webhook_url": {"key": "webhookUrl", "type": "str"},
- "webhook_secret_update_time": {"key": "webhookSecretUpdateTime", "type": "str"},
- "rotate_webhook_secret": {"key": "rotateWebhookSecret", "type": "bool"},
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "description": {"key": "properties.description", "type": "str"},
+ "display_name": {"key": "properties.displayName", "type": "str"},
+ "member_resource_names": {"key": "properties.memberResourceNames", "type": "[str]"},
}
def __init__(
self,
*,
- webhook_id: Optional[str] = None,
- webhook_url: Optional[str] = None,
- webhook_secret_update_time: Optional[str] = None,
- rotate_webhook_secret: Optional[bool] = None,
- **kwargs
- ):
- """
- :keyword webhook_id: Unique identifier for the webhook.
- :paramtype webhook_id: str
- :keyword webhook_url: URL that gets invoked by the webhook.
- :paramtype webhook_url: str
- :keyword webhook_secret_update_time: Time when the webhook secret was updated.
- :paramtype webhook_secret_update_time: str
- :keyword rotate_webhook_secret: A flag to instruct the backend service to rotate webhook
- secret.
- :paramtype rotate_webhook_secret: bool
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ member_resource_names: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword description: The description of the workspace manager group.
+ :paramtype description: str
+ :keyword display_name: The display name of the workspace manager group.
+ :paramtype display_name: str
+ :keyword member_resource_names: The names of the workspace manager members participating in
+ this group.
+ :paramtype member_resource_names: list[str]
"""
super().__init__(**kwargs)
- self.webhook_id = webhook_id
- self.webhook_url = webhook_url
- self.webhook_secret_update_time = webhook_secret_update_time
- self.rotate_webhook_secret = rotate_webhook_secret
+ self.description = description
+ self.display_name = display_name
+ self.member_resource_names = member_resource_names
+
+
+class WorkspaceManagerGroupList(_serialization.Model):
+ """List of all the workspace manager groups.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of workspace manager groups.
+ :vartype next_link: str
+ :ivar value: Array of workspace manager groups. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerGroup]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[WorkspaceManagerGroup]"},
+ }
+
+ def __init__(self, *, value: List["_models.WorkspaceManagerGroup"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of workspace manager groups. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerGroup]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
+
+
+class WorkspaceManagerMember(AzureEntityResource):
+ """The workspace manager member.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. E.g.
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.securityinsight.models.SystemData
+ :ivar etag: Resource Etag.
+ :vartype etag: str
+ :ivar target_workspace_resource_id: Fully qualified resource ID of the target Sentinel
+ workspace joining the given Sentinel workspace manager.
+ :vartype target_workspace_resource_id: str
+ :ivar target_workspace_tenant_id: Tenant id of the target Sentinel workspace joining the given
+ Sentinel workspace manager.
+ :vartype target_workspace_tenant_id: str
+ """
+
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "etag": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "type": {"key": "type", "type": "str"},
+ "system_data": {"key": "systemData", "type": "SystemData"},
+ "etag": {"key": "etag", "type": "str"},
+ "target_workspace_resource_id": {"key": "properties.targetWorkspaceResourceId", "type": "str"},
+ "target_workspace_tenant_id": {"key": "properties.targetWorkspaceTenantId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ target_workspace_resource_id: Optional[str] = None,
+ target_workspace_tenant_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword target_workspace_resource_id: Fully qualified resource ID of the target Sentinel
+ workspace joining the given Sentinel workspace manager.
+ :paramtype target_workspace_resource_id: str
+ :keyword target_workspace_tenant_id: Tenant id of the target Sentinel workspace joining the
+ given Sentinel workspace manager.
+ :paramtype target_workspace_tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.target_workspace_resource_id = target_workspace_resource_id
+ self.target_workspace_tenant_id = target_workspace_tenant_id
+
+
+class WorkspaceManagerMembersList(_serialization.Model):
+ """List of workspace manager members.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to server.
+
+ :ivar next_link: URL to fetch the next set of workspace manager members.
+ :vartype next_link: str
+ :ivar value: Array of workspace manager members. Required.
+ :vartype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerMember]
+ """
+
+ _validation = {
+ "next_link": {"readonly": True},
+ "value": {"required": True},
+ }
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[WorkspaceManagerMember]"},
+ }
+
+ def __init__(self, *, value: List["_models.WorkspaceManagerMember"], **kwargs: Any) -> None:
+ """
+ :keyword value: Array of workspace manager members. Required.
+ :paramtype value: list[~azure.mgmt.securityinsight.models.WorkspaceManagerMember]
+ """
+ super().__init__(**kwargs)
+ self.next_link = None
+ self.value = value
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_security_insights_enums.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_security_insights_enums.py
index 455b7f96600f..078bed5116d0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_security_insights_enums.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/models/_security_insights_enums.py
@@ -1,3 +1,4 @@
+# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10,47 +11,66 @@
from azure.core import CaseInsensitiveEnumMeta
+class ActionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The status of the action that was performed by the agent."""
+
+ PENDING = "Pending"
+ """Actions is pending"""
+ COMPLETED = "Completed"
+ """The action is completed successfully."""
+ FAILED = "Failed"
+ """The action failed."""
+
+
class ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of the automation rule action."""
- #: Modify an object's properties
MODIFY_PROPERTIES = "ModifyProperties"
- #: Run a playbook on an object
+ """Modify an object's properties"""
RUN_PLAYBOOK = "RunPlaybook"
- #: Add a task to an incident object
+ """Run a playbook on an object"""
ADD_INCIDENT_TASK = "AddIncidentTask"
+ """Add a task to an incident object"""
+
+
+class AgentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of the agent."""
+
+ SAP = "SAP"
class AlertDetail(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Alert detail."""
- #: Alert display name
DISPLAY_NAME = "DisplayName"
- #: Alert severity
+ """Alert display name"""
SEVERITY = "Severity"
+ """Alert severity"""
class AlertProperty(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The V3 alert property."""
- #: Alert's link
ALERT_LINK = "AlertLink"
- #: Confidence level property
+ """Alert's link"""
CONFIDENCE_LEVEL = "ConfidenceLevel"
- #: Confidence score
+ """Confidence level property"""
CONFIDENCE_SCORE = "ConfidenceScore"
- #: Extended links to the alert
+ """Confidence score"""
EXTENDED_LINKS = "ExtendedLinks"
- #: Product name alert property
+ """Extended links to the alert"""
PRODUCT_NAME = "ProductName"
- #: Provider name alert property
+ """Product name alert property"""
PROVIDER_NAME = "ProviderName"
- #: Product component name alert property
+ """Provider name alert property"""
PRODUCT_COMPONENT_NAME = "ProductComponentName"
- #: Remediation steps alert property
+ """Product component name alert property"""
REMEDIATION_STEPS = "RemediationSteps"
- #: Techniques alert property
+ """Remediation steps alert property"""
TECHNIQUES = "Techniques"
+ """Techniques alert property"""
+ SUB_TECHNIQUES = "SubTechniques"
+ """SubTechniques alert property"""
class AlertRuleKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -67,42 +87,42 @@ class AlertRuleKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class AlertSeverity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The severity of the alert."""
- #: High severity
HIGH = "High"
- #: Medium severity
+ """High severity"""
MEDIUM = "Medium"
- #: Low severity
+ """Medium severity"""
LOW = "Low"
- #: Informational severity
+ """Low severity"""
INFORMATIONAL = "Informational"
+ """Informational severity"""
class AlertStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The lifecycle status of the alert."""
- #: Unknown value
UNKNOWN = "Unknown"
- #: New alert
+ """Unknown value"""
NEW = "New"
- #: Alert closed after handling
+ """New alert"""
RESOLVED = "Resolved"
- #: Alert dismissed as false positive
+ """Alert closed after handling"""
DISMISSED = "Dismissed"
- #: Alert is being handled
+ """Alert dismissed as false positive"""
IN_PROGRESS = "InProgress"
+ """Alert is being handled"""
class AntispamMailDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The directionality of this mail message."""
- #: Unknown
UNKNOWN = "Unknown"
- #: Inbound
+ """Unknown"""
INBOUND = "Inbound"
- #: Outbound
+ """Inbound"""
OUTBOUND = "Outbound"
- #: Intraorg
+ """Outbound"""
INTRAORG = "Intraorg"
+ """Intraorg"""
class AttackTactic(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -130,249 +150,264 @@ class AttackTactic(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class AutomationRuleBooleanConditionSupportedOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRuleBooleanConditionSupportedOperator."""
- #: Evaluates as true if all the item conditions are evaluated as true
AND = "And"
- #: Evaluates as true if at least one of the item conditions are evaluated as true
+ """Evaluates as true if all the item conditions are evaluated as true"""
OR = "Or"
+ """Evaluates as true if at least one of the item conditions are evaluated as true"""
+ AND_ENUM = "And"
+ """Evaluates as true if all the item conditions are evaluated as true"""
+ OR_ENUM = "Or"
+ """Evaluates as true if at least one of the item conditions are evaluated as true"""
class AutomationRulePropertyArrayChangedConditionSupportedArrayType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyArrayChangedConditionSupportedArrayType."""
- #: Evaluate the condition on the alerts
ALERTS = "Alerts"
- #: Evaluate the condition on the labels
+ """Evaluate the condition on the alerts"""
LABELS = "Labels"
- #: Evaluate the condition on the tactics
+ """Evaluate the condition on the labels"""
TACTICS = "Tactics"
- #: Evaluate the condition on the comments
+ """Evaluate the condition on the tactics"""
COMMENTS = "Comments"
+ """Evaluate the condition on the comments"""
class AutomationRulePropertyArrayChangedConditionSupportedChangeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyArrayChangedConditionSupportedChangeType."""
- #: Evaluate the condition on items added to the array
ADDED = "Added"
+ """Evaluate the condition on items added to the array"""
class AutomationRulePropertyArrayConditionSupportedArrayConditionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyArrayConditionSupportedArrayConditionType."""
- #: Evaluate the condition as true if any item fulfills it
ANY_ITEM = "AnyItem"
+ """Evaluate the condition as true if any item fulfills it"""
+ ALL_ITEMS = "AllItems"
+ """Evaluate the condition as true if all the items fulfill it"""
class AutomationRulePropertyArrayConditionSupportedArrayType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyArrayConditionSupportedArrayType."""
- #: Evaluate the condition on the custom detail keys
CUSTOM_DETAILS = "CustomDetails"
- #: Evaluate the condition on a custom detail's values
+ """Evaluate the condition on the custom detail keys"""
CUSTOM_DETAIL_VALUES = "CustomDetailValues"
+ """Evaluate the condition on a custom detail's values"""
+ INCIDENT_LABELS = "IncidentLabels"
+ """Evaluate the condition on the incident labels"""
class AutomationRulePropertyChangedConditionSupportedChangedType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyChangedConditionSupportedChangedType."""
- #: Evaluate the condition on the previous value of the property
CHANGED_FROM = "ChangedFrom"
- #: Evaluate the condition on the updated value of the property
+ """Evaluate the condition on the previous value of the property"""
CHANGED_TO = "ChangedTo"
+ """Evaluate the condition on the updated value of the property"""
class AutomationRulePropertyChangedConditionSupportedPropertyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyChangedConditionSupportedPropertyType."""
- #: Evaluate the condition on the incident severity
INCIDENT_SEVERITY = "IncidentSeverity"
- #: Evaluate the condition on the incident status
+ """Evaluate the condition on the incident severity"""
INCIDENT_STATUS = "IncidentStatus"
- #: Evaluate the condition on the incident owner
+ """Evaluate the condition on the incident status"""
INCIDENT_OWNER = "IncidentOwner"
+ """Evaluate the condition on the incident owner"""
class AutomationRulePropertyConditionSupportedOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutomationRulePropertyConditionSupportedOperator."""
- #: Evaluates if the property equals at least one of the condition values
EQUALS = "Equals"
- #: Evaluates if the property does not equal any of the condition values
+ """Evaluates if the property equals at least one of the condition values"""
NOT_EQUALS = "NotEquals"
- #: Evaluates if the property contains at least one of the condition values
+ """Evaluates if the property does not equal any of the condition values"""
CONTAINS = "Contains"
- #: Evaluates if the property does not contain any of the condition values
+ """Evaluates if the property contains at least one of the condition values"""
NOT_CONTAINS = "NotContains"
- #: Evaluates if the property starts with any of the condition values
+ """Evaluates if the property does not contain any of the condition values"""
STARTS_WITH = "StartsWith"
- #: Evaluates if the property does not start with any of the condition values
+ """Evaluates if the property starts with any of the condition values"""
NOT_STARTS_WITH = "NotStartsWith"
- #: Evaluates if the property ends with any of the condition values
+ """Evaluates if the property does not start with any of the condition values"""
ENDS_WITH = "EndsWith"
- #: Evaluates if the property does not end with any of the condition values
+ """Evaluates if the property ends with any of the condition values"""
NOT_ENDS_WITH = "NotEndsWith"
+ """Evaluates if the property does not end with any of the condition values"""
class AutomationRulePropertyConditionSupportedProperty(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The property to evaluate in an automation rule property condition."""
- #: The title of the incident
INCIDENT_TITLE = "IncidentTitle"
- #: The description of the incident
+ """The title of the incident"""
INCIDENT_DESCRIPTION = "IncidentDescription"
- #: The severity of the incident
+ """The description of the incident"""
INCIDENT_SEVERITY = "IncidentSeverity"
- #: The status of the incident
+ """The severity of the incident"""
INCIDENT_STATUS = "IncidentStatus"
- #: The related Analytic rule ids of the incident
+ """The status of the incident"""
INCIDENT_RELATED_ANALYTIC_RULE_IDS = "IncidentRelatedAnalyticRuleIds"
- #: The tactics of the incident
+ """The related Analytic rule ids of the incident"""
INCIDENT_TACTICS = "IncidentTactics"
- #: The labels of the incident
+ """The tactics of the incident"""
INCIDENT_LABEL = "IncidentLabel"
- #: The provider name of the incident
+ """The labels of the incident"""
INCIDENT_PROVIDER_NAME = "IncidentProviderName"
- #: The update source of the incident
+ """The provider name of the incident"""
INCIDENT_UPDATED_BY_SOURCE = "IncidentUpdatedBySource"
- #: The incident custom detail key
+ """The update source of the incident"""
INCIDENT_CUSTOM_DETAILS_KEY = "IncidentCustomDetailsKey"
- #: The incident custom detail value
+ """The incident custom detail key"""
INCIDENT_CUSTOM_DETAILS_VALUE = "IncidentCustomDetailsValue"
- #: The account Azure Active Directory tenant id
+ """The incident custom detail value"""
ACCOUNT_AAD_TENANT_ID = "AccountAadTenantId"
- #: The account Azure Active Directory user id
+ """The account Azure Active Directory tenant id"""
ACCOUNT_AAD_USER_ID = "AccountAadUserId"
- #: The account name
+ """The account Azure Active Directory user id"""
ACCOUNT_NAME = "AccountName"
- #: The account NetBIOS domain name
+ """The account name"""
ACCOUNT_NT_DOMAIN = "AccountNTDomain"
- #: The account Azure Active Directory Passport User ID
+ """The account NetBIOS domain name"""
ACCOUNT_PUID = "AccountPUID"
- #: The account security identifier
+ """The account Azure Active Directory Passport User ID"""
ACCOUNT_SID = "AccountSid"
- #: The account unique identifier
+ """The account security identifier"""
ACCOUNT_OBJECT_GUID = "AccountObjectGuid"
- #: The account user principal name suffix
+ """The account unique identifier"""
ACCOUNT_UPN_SUFFIX = "AccountUPNSuffix"
- #: The name of the product of the alert
+ """The account user principal name suffix"""
ALERT_PRODUCT_NAMES = "AlertProductNames"
- #: The analytic rule ids of the alert
+ """The name of the product of the alert"""
ALERT_ANALYTIC_RULE_IDS = "AlertAnalyticRuleIds"
- #: The Azure resource id
+ """The analytic rule ids of the alert"""
AZURE_RESOURCE_RESOURCE_ID = "AzureResourceResourceId"
- #: The Azure resource subscription id
+ """The Azure resource id"""
AZURE_RESOURCE_SUBSCRIPTION_ID = "AzureResourceSubscriptionId"
- #: The cloud application identifier
+ """The Azure resource subscription id"""
CLOUD_APPLICATION_APP_ID = "CloudApplicationAppId"
- #: The cloud application name
+ """The cloud application identifier"""
CLOUD_APPLICATION_APP_NAME = "CloudApplicationAppName"
- #: The dns record domain name
+ """The cloud application name"""
DNS_DOMAIN_NAME = "DNSDomainName"
- #: The file directory full path
+ """The dns record domain name"""
FILE_DIRECTORY = "FileDirectory"
- #: The file name without path
+ """The file directory full path"""
FILE_NAME = "FileName"
- #: The file hash value
+ """The file name without path"""
FILE_HASH_VALUE = "FileHashValue"
- #: The host Azure resource id
+ """The file hash value"""
HOST_AZURE_ID = "HostAzureID"
- #: The host name without domain
+ """The host Azure resource id"""
HOST_NAME = "HostName"
- #: The host NetBIOS name
+ """The host name without domain"""
HOST_NET_BIOS_NAME = "HostNetBiosName"
- #: The host NT domain
+ """The host NetBIOS name"""
HOST_NT_DOMAIN = "HostNTDomain"
- #: The host operating system
+ """The host NT domain"""
HOST_OS_VERSION = "HostOSVersion"
- #: "The IoT device id
+ """The host operating system"""
IO_T_DEVICE_ID = "IoTDeviceId"
- #: The IoT device name
+ """"The IoT device id"""
IO_T_DEVICE_NAME = "IoTDeviceName"
- #: The IoT device type
+ """The IoT device name"""
IO_T_DEVICE_TYPE = "IoTDeviceType"
- #: The IoT device vendor
+ """The IoT device type"""
IO_T_DEVICE_VENDOR = "IoTDeviceVendor"
- #: The IoT device model
+ """The IoT device vendor"""
IO_T_DEVICE_MODEL = "IoTDeviceModel"
- #: The IoT device operating system
+ """The IoT device model"""
IO_T_DEVICE_OPERATING_SYSTEM = "IoTDeviceOperatingSystem"
- #: The IP address
+ """The IoT device operating system"""
IP_ADDRESS = "IPAddress"
- #: The mailbox display name
+ """The IP address"""
MAILBOX_DISPLAY_NAME = "MailboxDisplayName"
- #: The mailbox primary address
+ """The mailbox display name"""
MAILBOX_PRIMARY_ADDRESS = "MailboxPrimaryAddress"
- #: The mailbox user principal name
+ """The mailbox primary address"""
MAILBOX_UPN = "MailboxUPN"
- #: The mail message delivery action
+ """The mailbox user principal name"""
MAIL_MESSAGE_DELIVERY_ACTION = "MailMessageDeliveryAction"
- #: The mail message delivery location
+ """The mail message delivery action"""
MAIL_MESSAGE_DELIVERY_LOCATION = "MailMessageDeliveryLocation"
- #: The mail message recipient
+ """The mail message delivery location"""
MAIL_MESSAGE_RECIPIENT = "MailMessageRecipient"
- #: The mail message sender IP address
+ """The mail message recipient"""
MAIL_MESSAGE_SENDER_IP = "MailMessageSenderIP"
- #: The mail message subject
+ """The mail message sender IP address"""
MAIL_MESSAGE_SUBJECT = "MailMessageSubject"
- #: The mail message P1 sender
+ """The mail message subject"""
MAIL_MESSAGE_P1_SENDER = "MailMessageP1Sender"
- #: The mail message P2 sender
+ """The mail message P1 sender"""
MAIL_MESSAGE_P2_SENDER = "MailMessageP2Sender"
- #: The malware category
+ """The mail message P2 sender"""
MALWARE_CATEGORY = "MalwareCategory"
- #: The malware name
+ """The malware category"""
MALWARE_NAME = "MalwareName"
- #: The process execution command line
+ """The malware name"""
PROCESS_COMMAND_LINE = "ProcessCommandLine"
- #: The process id
+ """The process execution command line"""
PROCESS_ID = "ProcessId"
- #: The registry key path
+ """The process id"""
REGISTRY_KEY = "RegistryKey"
- #: The registry key value in string formatted representation
+ """The registry key path"""
REGISTRY_VALUE_DATA = "RegistryValueData"
- #: The url
+ """The registry key value in string formatted representation"""
URL = "Url"
+ """The url"""
+
+
+class BillingStatisticKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The kind of the billing statistic."""
+ SAP_SOLUTION_USAGE = "SapSolutionUsage"
-class Category(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Categories of recommendations."""
- #: Onboarding recommendation.
- ONBOARDING = "Onboarding"
- #: New feature recommendation.
- NEW_FEATURE = "NewFeature"
- #: Soc Efficiency recommendation.
- SOC_EFFICIENCY = "SocEfficiency"
- #: Cost optimization recommendation.
- COST_OPTIMIZATION = "CostOptimization"
- #: Demo recommendation.
- DEMO = "Demo"
+class CcpAuthType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of paging."""
+
+ BASIC = "Basic"
+ API_KEY = "APIKey"
+ O_AUTH2 = "OAuth2"
+ AWS = "AWS"
+ GCP = "GCP"
+ SESSION = "Session"
+ JWT_TOKEN = "JwtToken"
+ GIT_HUB = "GitHub"
+ SERVICE_BUS = "ServiceBus"
+ ORACLE = "Oracle"
+ NONE = "None"
class ConditionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""ConditionType."""
- #: Evaluate an object property value
PROPERTY = "Property"
- #: Evaluate an object array property value
+ """Evaluate an object property value"""
PROPERTY_ARRAY = "PropertyArray"
- #: Evaluate an object property changed value
+ """Evaluate an object array property value"""
PROPERTY_CHANGED = "PropertyChanged"
- #: Evaluate an object array property changed value
+ """Evaluate an object property changed value"""
PROPERTY_ARRAY_CHANGED = "PropertyArrayChanged"
- #: Apply a boolean operator (e.g AND, OR) to conditions
+ """Evaluate an object array property changed value"""
BOOLEAN = "Boolean"
+ """Apply a boolean operator (e.g AND, OR) to conditions"""
class ConfidenceLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The confidence level of this alert."""
- #: Unknown confidence, the is the default value
UNKNOWN = "Unknown"
- #: Low confidence, meaning we have some doubts this is indeed malicious or part of an attack
+ """Unknown confidence, the is the default value"""
LOW = "Low"
- #: High confidence that the alert is true positive malicious
+ """Low confidence, meaning we have some doubts this is indeed malicious or part of an attack"""
HIGH = "High"
+ """High confidence that the alert is true positive malicious"""
class ConfidenceScoreStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -380,15 +415,21 @@ class ConfidenceScoreStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
this alert, not applicable or final.
"""
- #: Score will not be calculated for this alert as it is not supported by virtual analyst
NOT_APPLICABLE = "NotApplicable"
- #: No score was set yet and calculation is in progress
+ """Score will not be calculated for this alert as it is not supported by virtual analyst"""
IN_PROCESS = "InProcess"
- #: Score is calculated and shown as part of the alert, but may be updated again at a later time
- #: following the processing of additional data
+ """No score was set yet and calculation is in progress"""
NOT_FINAL = "NotFinal"
- #: Final score was calculated and available
+ """Score is calculated and shown as part of the alert, but may be updated again at a later time
+ following the processing of additional data"""
FINAL = "Final"
+ """Final score was calculated and available"""
+
+
+class ConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Represents the types of configuration for a system."""
+
+ SAP = "SAP"
class ConnectAuthKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -399,6 +440,19 @@ class ConnectAuthKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
API_KEY = "APIKey"
+class Connective(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Represents boolean connectives used to join clauses in conditions."""
+
+ AND = "And"
+ """'And' connective"""
+ OR = "Or"
+ """'Or' connective"""
+ AND_ENUM = "And"
+ """'And' connective"""
+ OR_ENUM = "Or"
+ """'Or' connective"""
+
+
class ConnectivityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""type of connectivity."""
@@ -409,22 +463,13 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The content type of a source control path."""
ANALYTIC_RULE = "AnalyticRule"
+ AUTOMATION_RULE = "AutomationRule"
+ HUNTING_QUERY = "HuntingQuery"
+ PARSER = "Parser"
+ PLAYBOOK = "Playbook"
WORKBOOK = "Workbook"
-class Context(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Context of recommendation."""
-
- #: Analytics context.
- ANALYTICS = "Analytics"
- #: Incidents context.
- INCIDENTS = "Incidents"
- #: Overview context.
- OVERVIEW = "Overview"
- #: No context.
- NONE = "None"
-
-
class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of identity that created the resource."""
@@ -447,6 +492,12 @@ class DataConnectorAuthorizationState(str, Enum, metaclass=CaseInsensitiveEnumMe
INVALID = "Invalid"
+class DataConnectorDefinitionKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The kind of the data connector definitions."""
+
+ CUSTOMIZABLE = "Customizable"
+
+
class DataConnectorKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The kind of the data connector."""
@@ -459,6 +510,7 @@ class DataConnectorKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
OFFICE_ATP = "OfficeATP"
OFFICE_IRM = "OfficeIRM"
OFFICE365_PROJECT = "Office365Project"
+ MICROSOFT_PURVIEW_INFORMATION_PROTECTION = "MicrosoftPurviewInformationProtection"
OFFICE_POWER_BI = "OfficePowerBI"
AMAZON_WEB_SERVICES_CLOUD_TRAIL = "AmazonWebServicesCloudTrail"
AMAZON_WEB_SERVICES_S3 = "AmazonWebServicesS3"
@@ -470,6 +522,9 @@ class DataConnectorKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
GENERIC_UI = "GenericUI"
API_POLLING = "APIPolling"
IOT = "IOT"
+ GCP = "GCP"
+ REST_API_POLLER = "RestApiPoller"
+ PURVIEW_AUDIT = "PurviewAudit"
class DataConnectorLicenseState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -490,50 +545,50 @@ class DataTypeState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class DeleteStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Indicates whether the file was deleted from the storage account."""
- #: The file was deleted.
DELETED = "Deleted"
- #: The file was not deleted.
+ """The file was deleted."""
NOT_DELETED = "NotDeleted"
- #: Unspecified
+ """The file was not deleted."""
UNSPECIFIED = "Unspecified"
+ """Unspecified"""
class DeliveryAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The delivery action of this mail message like Delivered, Blocked, Replaced etc."""
- #: Unknown
UNKNOWN = "Unknown"
- #: DeliveredAsSpam
+ """Unknown"""
DELIVERED_AS_SPAM = "DeliveredAsSpam"
- #: Delivered
+ """DeliveredAsSpam"""
DELIVERED = "Delivered"
- #: Blocked
+ """Delivered"""
BLOCKED = "Blocked"
- #: Replaced
+ """Blocked"""
REPLACED = "Replaced"
+ """Replaced"""
class DeliveryLocation(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The delivery location of this mail message like Inbox, JunkFolder etc."""
- #: Unknown
UNKNOWN = "Unknown"
- #: Inbox
+ """Unknown"""
INBOX = "Inbox"
- #: JunkFolder
+ """Inbox"""
JUNK_FOLDER = "JunkFolder"
- #: DeletedFolder
+ """JunkFolder"""
DELETED_FOLDER = "DeletedFolder"
- #: Quarantine
+ """DeletedFolder"""
QUARANTINE = "Quarantine"
- #: External
+ """Quarantine"""
EXTERNAL = "External"
- #: Failed
+ """External"""
FAILED = "Failed"
- #: Dropped
+ """Failed"""
DROPPED = "Dropped"
- #: Forwarded
+ """Dropped"""
FORWARDED = "Forwarded"
+ """Forwarded"""
class DeploymentFetchStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -564,122 +619,128 @@ class DeploymentState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class DeviceImportance(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Device importance, determines if the device classified as 'crown jewel'."""
- #: Unknown - Default value
UNKNOWN = "Unknown"
- #: Low
+ """Unknown - Default value"""
LOW = "Low"
- #: Normal
+ """Low"""
NORMAL = "Normal"
- #: High
+ """Normal"""
HIGH = "High"
+ """High"""
class ElevationToken(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The elevation token associated with the process."""
- #: Default elevation token
DEFAULT = "Default"
- #: Full elevation token
+ """Default elevation token"""
FULL = "Full"
- #: Limited elevation token
+ """Full elevation token"""
LIMITED = "Limited"
+ """Limited elevation token"""
+
+
+class EnrichmentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """EnrichmentType."""
+
+ MAIN = "main"
class EntityItemQueryKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""EntityItemQueryKind."""
- #: insight
INSIGHT = "Insight"
+ """insight"""
-class EntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+class EntityKindEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The kind of the entity."""
- #: Entity represents account in the system.
ACCOUNT = "Account"
- #: Entity represents host in the system.
+ """Entity represents account in the system."""
HOST = "Host"
- #: Entity represents file in the system.
+ """Entity represents host in the system."""
FILE = "File"
- #: Entity represents azure resource in the system.
+ """Entity represents file in the system."""
AZURE_RESOURCE = "AzureResource"
- #: Entity represents cloud application in the system.
+ """Entity represents azure resource in the system."""
CLOUD_APPLICATION = "CloudApplication"
- #: Entity represents dns resolution in the system.
+ """Entity represents cloud application in the system."""
DNS_RESOLUTION = "DnsResolution"
- #: Entity represents file hash in the system.
+ """Entity represents dns resolution in the system."""
FILE_HASH = "FileHash"
- #: Entity represents ip in the system.
+ """Entity represents file hash in the system."""
IP = "Ip"
- #: Entity represents malware in the system.
+ """Entity represents ip in the system."""
MALWARE = "Malware"
- #: Entity represents process in the system.
+ """Entity represents malware in the system."""
PROCESS = "Process"
- #: Entity represents registry key in the system.
+ """Entity represents process in the system."""
REGISTRY_KEY = "RegistryKey"
- #: Entity represents registry value in the system.
+ """Entity represents registry key in the system."""
REGISTRY_VALUE = "RegistryValue"
- #: Entity represents security group in the system.
+ """Entity represents registry value in the system."""
SECURITY_GROUP = "SecurityGroup"
- #: Entity represents url in the system.
+ """Entity represents security group in the system."""
URL = "Url"
- #: Entity represents IoT device in the system.
+ """Entity represents url in the system."""
IO_T_DEVICE = "IoTDevice"
- #: Entity represents security alert in the system.
+ """Entity represents IoT device in the system."""
SECURITY_ALERT = "SecurityAlert"
- #: Entity represents bookmark in the system.
+ """Entity represents security alert in the system."""
BOOKMARK = "Bookmark"
- #: Entity represents mail cluster in the system.
+ """Entity represents bookmark in the system."""
MAIL_CLUSTER = "MailCluster"
- #: Entity represents mail message in the system.
+ """Entity represents mail cluster in the system."""
MAIL_MESSAGE = "MailMessage"
- #: Entity represents mailbox in the system.
+ """Entity represents mail message in the system."""
MAILBOX = "Mailbox"
- #: Entity represents submission mail in the system.
+ """Entity represents mailbox in the system."""
SUBMISSION_MAIL = "SubmissionMail"
- #: Entity represents network interface in the system.
+ """Entity represents submission mail in the system."""
NIC = "Nic"
+ """Entity represents network interface in the system."""
class EntityMappingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The V3 type of the mapped entity."""
- #: User account entity type
ACCOUNT = "Account"
- #: Host entity type
+ """User account entity type"""
HOST = "Host"
- #: IP address entity type
+ """Host entity type"""
IP = "IP"
- #: Malware entity type
+ """IP address entity type"""
MALWARE = "Malware"
- #: System file entity type
+ """Malware entity type"""
FILE = "File"
- #: Process entity type
+ """System file entity type"""
PROCESS = "Process"
- #: Cloud app entity type
+ """Process entity type"""
CLOUD_APPLICATION = "CloudApplication"
- #: DNS entity type
+ """Cloud app entity type"""
DNS = "DNS"
- #: Azure resource entity type
+ """DNS entity type"""
AZURE_RESOURCE = "AzureResource"
- #: File-hash entity type
+ """Azure resource entity type"""
FILE_HASH = "FileHash"
- #: Registry key entity type
+ """File-hash entity type"""
REGISTRY_KEY = "RegistryKey"
- #: Registry value entity type
+ """Registry key entity type"""
REGISTRY_VALUE = "RegistryValue"
- #: Security group entity type
+ """Registry value entity type"""
SECURITY_GROUP = "SecurityGroup"
- #: URL entity type
+ """Security group entity type"""
URL = "URL"
- #: Mailbox entity type
+ """URL entity type"""
MAILBOX = "Mailbox"
- #: Mail cluster entity type
+ """Mailbox entity type"""
MAIL_CLUSTER = "MailCluster"
- #: Mail message entity type
+ """Mail cluster entity type"""
MAIL_MESSAGE = "MailMessage"
- #: Submission mail entity type
+ """Mail message entity type"""
SUBMISSION_MAIL = "SubmissionMail"
+ """Submission mail entity type"""
class EntityProviders(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -698,84 +759,77 @@ class EntityQueryKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class EntityQueryTemplateKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """The kind of the entity query template."""
+ """EntityQueryTemplateKind."""
ACTIVITY = "Activity"
+ INSIGHT = "Insight"
+ SECURITY_ALERT = "SecurityAlert"
+ BOOKMARK = "Bookmark"
+ EXPANSION = "Expansion"
+ GUIDED_INSIGHT = "GuidedInsight"
+ ANOMALY = "Anomaly"
class EntityTimelineKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The entity query kind."""
- #: activity
ACTIVITY = "Activity"
- #: bookmarks
+ """activity"""
BOOKMARK = "Bookmark"
- #: security alerts
+ """bookmarks"""
SECURITY_ALERT = "SecurityAlert"
- #: anomaly
+ """security alerts"""
ANOMALY = "Anomaly"
+ """anomaly"""
class EntityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of the entity."""
- #: Entity represents account in the system.
ACCOUNT = "Account"
- #: Entity represents host in the system.
+ """Entity represents account in the system."""
HOST = "Host"
- #: Entity represents file in the system.
+ """Entity represents host in the system."""
FILE = "File"
- #: Entity represents azure resource in the system.
+ """Entity represents file in the system."""
AZURE_RESOURCE = "AzureResource"
- #: Entity represents cloud application in the system.
+ """Entity represents azure resource in the system."""
CLOUD_APPLICATION = "CloudApplication"
- #: Entity represents dns in the system.
+ """Entity represents cloud application in the system."""
DNS = "DNS"
- #: Entity represents file hash in the system.
+ """Entity represents dns in the system."""
FILE_HASH = "FileHash"
- #: Entity represents ip in the system.
+ """Entity represents file hash in the system."""
IP = "IP"
- #: Entity represents malware in the system.
+ """Entity represents ip in the system."""
MALWARE = "Malware"
- #: Entity represents process in the system.
+ """Entity represents malware in the system."""
PROCESS = "Process"
- #: Entity represents registry key in the system.
+ """Entity represents process in the system."""
REGISTRY_KEY = "RegistryKey"
- #: Entity represents registry value in the system.
+ """Entity represents registry key in the system."""
REGISTRY_VALUE = "RegistryValue"
- #: Entity represents security group in the system.
+ """Entity represents registry value in the system."""
SECURITY_GROUP = "SecurityGroup"
- #: Entity represents url in the system.
+ """Entity represents security group in the system."""
URL = "URL"
- #: Entity represents IoT device in the system.
+ """Entity represents url in the system."""
IO_T_DEVICE = "IoTDevice"
- #: Entity represents security alert in the system.
+ """Entity represents IoT device in the system."""
SECURITY_ALERT = "SecurityAlert"
- #: Entity represents HuntingBookmark in the system.
+ """Entity represents security alert in the system."""
HUNTING_BOOKMARK = "HuntingBookmark"
- #: Entity represents mail cluster in the system.
+ """Entity represents HuntingBookmark in the system."""
MAIL_CLUSTER = "MailCluster"
- #: Entity represents mail message in the system.
+ """Entity represents mail cluster in the system."""
MAIL_MESSAGE = "MailMessage"
- #: Entity represents mailbox in the system.
+ """Entity represents mail message in the system."""
MAILBOX = "Mailbox"
- #: Entity represents submission mail in the system.
+ """Entity represents mailbox in the system."""
SUBMISSION_MAIL = "SubmissionMail"
- #: Entity represents network interface in the system.
+ """Entity represents submission mail in the system."""
NIC = "Nic"
-
-
-class Enum13(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Enum13."""
-
- EXPANSION = "Expansion"
- ACTIVITY = "Activity"
-
-
-class Enum15(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Enum15."""
-
- ACTIVITY = "Activity"
+ """Entity represents network interface in the system."""
class EventGroupingAggregationKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -788,58 +842,65 @@ class EventGroupingAggregationKind(str, Enum, metaclass=CaseInsensitiveEnumMeta)
class FileFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The format of the file."""
- #: A CSV file.
CSV = "CSV"
- #: A JSON file.
+ """A CSV file."""
JSON = "JSON"
- #: A file of other format.
+ """A JSON file."""
UNSPECIFIED = "Unspecified"
+ """A file of other format."""
class FileHashAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The hash algorithm type."""
- #: Unknown hash algorithm
UNKNOWN = "Unknown"
- #: MD5 hash type
+ """Unknown hash algorithm"""
MD5 = "MD5"
- #: SHA1 hash type
+ """MD5 hash type"""
SHA1 = "SHA1"
- #: SHA256 hash type
+ """SHA1 hash type"""
SHA256 = "SHA256"
- #: SHA256 Authenticode hash type
+ """SHA256 hash type"""
SHA256_AC = "SHA256AC"
+ """SHA256 Authenticode hash type"""
class FileImportContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The content type of this file."""
- #: File containing records with the core fields of an indicator, plus the observables to construct
- #: the STIX pattern.
BASIC_INDICATOR = "BasicIndicator"
- #: File containing STIX indicators.
+ """File containing records with the core fields of an indicator, plus the observables to construct
+ the STIX pattern."""
STIX_INDICATOR = "StixIndicator"
- #: File containing other records.
+ """File containing STIX indicators."""
UNSPECIFIED = "Unspecified"
+ """File containing other records."""
class FileImportState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The state of the file import."""
- #: A fatal error has occurred while ingesting the file.
FATAL_ERROR = "FatalError"
- #: The file has been ingested.
+ """A fatal error has occurred while ingesting the file."""
INGESTED = "Ingested"
- #: The file has been ingested with errors.
+ """The file has been ingested."""
INGESTED_WITH_ERRORS = "IngestedWithErrors"
- #: The file ingestion is in progress.
+ """The file has been ingested with errors."""
IN_PROGRESS = "InProgress"
- #: The file is invalid.
+ """The file ingestion is in progress."""
INVALID = "Invalid"
- #: Waiting for the file to be uploaded.
+ """The file is invalid."""
WAITING_FOR_UPLOAD = "WaitingForUpload"
- #: Unspecified state.
+ """Waiting for the file to be uploaded."""
UNSPECIFIED = "Unspecified"
+ """Unspecified state."""
+
+
+class Flag(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The boolean value the metadata is for."""
+
+ TRUE = "true"
+ FALSE = "false"
class GetInsightsError(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -848,156 +909,195 @@ class GetInsightsError(str, Enum, metaclass=CaseInsensitiveEnumMeta):
INSIGHT = "Insight"
+class HttpMethodVerb(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The HTTP method, default value GET."""
+
+ GET = "GET"
+ POST = "POST"
+ PUT = "PUT"
+ DELETE = "DELETE"
+
+
+class HttpsConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Represents the types of HTTPS configuration to connect to the SapControl service."""
+
+ HTTP_ONLY = "HttpOnly"
+ HTTPS_WITH_SSL_VERIFICATION = "HttpsWithSslVerification"
+ HTTPS_WITHOUT_SSL_VERIFICATION = "HttpsWithoutSslVerification"
+
+
+class HypothesisStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The hypothesis status of the hunt."""
+
+ UNKNOWN = "Unknown"
+ INVALIDATED = "Invalidated"
+ VALIDATED = "Validated"
+
+
class IncidentClassification(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The reason the incident was closed."""
- #: Incident classification was undetermined
UNDETERMINED = "Undetermined"
- #: Incident was true positive
+ """Incident classification was undetermined"""
TRUE_POSITIVE = "TruePositive"
- #: Incident was benign positive
+ """Incident was true positive"""
BENIGN_POSITIVE = "BenignPositive"
- #: Incident was false positive
+ """Incident was benign positive"""
FALSE_POSITIVE = "FalsePositive"
+ """Incident was false positive"""
class IncidentClassificationReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The classification reason the incident was closed with."""
- #: Classification reason was suspicious activity
SUSPICIOUS_ACTIVITY = "SuspiciousActivity"
- #: Classification reason was suspicious but expected
+ """Classification reason was suspicious activity"""
SUSPICIOUS_BUT_EXPECTED = "SuspiciousButExpected"
- #: Classification reason was incorrect alert logic
+ """Classification reason was suspicious but expected"""
INCORRECT_ALERT_LOGIC = "IncorrectAlertLogic"
- #: Classification reason was inaccurate data
+ """Classification reason was incorrect alert logic"""
INACCURATE_DATA = "InaccurateData"
+ """Classification reason was inaccurate data"""
class IncidentLabelType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of the label."""
- #: Label manually created by a user
USER = "User"
- #: Label automatically created by the system
+ """Label manually created by a user"""
AUTO_ASSIGNED = "AutoAssigned"
+ """Label automatically created by the system"""
class IncidentSeverity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The severity of the incident."""
- #: High severity
HIGH = "High"
- #: Medium severity
+ """High severity"""
MEDIUM = "Medium"
- #: Low severity
+ """Medium severity"""
LOW = "Low"
- #: Informational severity
+ """Low severity"""
INFORMATIONAL = "Informational"
+ """Informational severity"""
class IncidentStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The status of the incident."""
- #: An active incident which isn't being handled currently
NEW = "New"
- #: An active incident which is being handled
+ """An active incident which isn't being handled currently"""
ACTIVE = "Active"
- #: A non-active incident
+ """An active incident which is being handled"""
CLOSED = "Closed"
+ """A non-active incident"""
class IncidentTaskStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""IncidentTaskStatus."""
- #: A new task
NEW = "New"
- #: A completed task
+ """A new task"""
COMPLETED = "Completed"
+ """A completed task"""
class IngestionMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Describes how to ingest the records in the file."""
- #: No records should be ingested when invalid records are detected.
INGEST_ONLY_IF_ALL_ARE_VALID = "IngestOnlyIfAllAreValid"
- #: Valid records should still be ingested when invalid records are detected.
+ """No records should be ingested when invalid records are detected."""
INGEST_ANY_VALID_RECORDS = "IngestAnyValidRecords"
- #: Unspecified
+ """Valid records should still be ingested when invalid records are detected."""
UNSPECIFIED = "Unspecified"
+ """Unspecified"""
+
+
+class IngestionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Types of ingestion."""
+
+ FULL = "Full"
+ INCREMENTAL = "Incremental"
+
+
+class KeyVaultAuthenticationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type for authentication identity to key vault."""
+
+ MANAGED_IDENTITY = "ManagedIdentity"
+ SERVICE_PRINCIPAL = "ServicePrincipal"
class KillChainIntent(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The intent of the alert."""
- #: The default value.
UNKNOWN = "Unknown"
- #: Probing could be an attempt to access a certain resource regardless of a malicious intent or a
- #: failed attempt to gain access to a target system to gather information prior to exploitation.
- #: This step is usually detected as an attempt originating from outside the network in attempt to
- #: scan the target system and find a way in.
+ """The default value."""
PROBING = "Probing"
- #: Exploitation is the stage where an attacker manage to get foothold on the attacked resource.
- #: This stage is applicable not only for compute hosts, but also for resources such as user
- #: accounts, certificates etc. Adversaries will often be able to control the resource after this
- #: stage.
+ """Probing could be an attempt to access a certain resource regardless of a malicious intent or a
+ failed attempt to gain access to a target system to gather information prior to exploitation.
+ This step is usually detected as an attempt originating from outside the network in attempt to
+ scan the target system and find a way in."""
EXPLOITATION = "Exploitation"
- #: Persistence is any access, action, or configuration change to a system that gives an adversary
- #: a persistent presence on that system. Adversaries will often need to maintain access to systems
- #: through interruptions such as system restarts, loss of credentials, or other failures that
- #: would require a remote access tool to restart or alternate backdoor for them to regain access.
+ """Exploitation is the stage where an attacker manage to get foothold on the attacked resource.
+ This stage is applicable not only for compute hosts, but also for resources such as user
+ accounts, certificates etc. Adversaries will often be able to control the resource after this
+ stage."""
PERSISTENCE = "Persistence"
- #: Privilege escalation is the result of actions that allow an adversary to obtain a higher level
- #: of permissions on a system or network. Certain tools or actions require a higher level of
- #: privilege to work and are likely necessary at many points throughout an operation. User
- #: accounts with permissions to access specific systems or perform specific functions necessary
- #: for adversaries to achieve their objective may also be considered an escalation of privilege.
+ """Persistence is any access, action, or configuration change to a system that gives an adversary
+ a persistent presence on that system. Adversaries will often need to maintain access to systems
+ through interruptions such as system restarts, loss of credentials, or other failures that
+ would require a remote access tool to restart or alternate backdoor for them to regain access."""
PRIVILEGE_ESCALATION = "PrivilegeEscalation"
- #: Defense evasion consists of techniques an adversary may use to evade detection or avoid other
- #: defenses. Sometimes these actions are the same as or variations of techniques in other
- #: categories that have the added benefit of subverting a particular defense or mitigation.
+ """Privilege escalation is the result of actions that allow an adversary to obtain a higher level
+ of permissions on a system or network. Certain tools or actions require a higher level of
+ privilege to work and are likely necessary at many points throughout an operation. User
+ accounts with permissions to access specific systems or perform specific functions necessary
+ for adversaries to achieve their objective may also be considered an escalation of privilege."""
DEFENSE_EVASION = "DefenseEvasion"
- #: Credential access represents techniques resulting in access to or control over system, domain,
- #: or service credentials that are used within an enterprise environment. Adversaries will likely
- #: attempt to obtain legitimate credentials from users or administrator accounts (local system
- #: administrator or domain users with administrator access) to use within the network. With
- #: sufficient access within a network, an adversary can create accounts for later use within the
- #: environment.
+ """Defense evasion consists of techniques an adversary may use to evade detection or avoid other
+ defenses. Sometimes these actions are the same as or variations of techniques in other
+ categories that have the added benefit of subverting a particular defense or mitigation."""
CREDENTIAL_ACCESS = "CredentialAccess"
- #: Discovery consists of techniques that allow the adversary to gain knowledge about the system
- #: and internal network. When adversaries gain access to a new system, they must orient themselves
- #: to what they now have control of and what benefits operating from that system give to their
- #: current objective or overall goals during the intrusion. The operating system provides many
- #: native tools that aid in this post-compromise information-gathering phase.
+ """Credential access represents techniques resulting in access to or control over system, domain,
+ or service credentials that are used within an enterprise environment. Adversaries will likely
+ attempt to obtain legitimate credentials from users or administrator accounts (local system
+ administrator or domain users with administrator access) to use within the network. With
+ sufficient access within a network, an adversary can create accounts for later use within the
+ environment."""
DISCOVERY = "Discovery"
- #: Lateral movement consists of techniques that enable an adversary to access and control remote
- #: systems on a network and could, but does not necessarily, include execution of tools on remote
- #: systems. The lateral movement techniques could allow an adversary to gather information from a
- #: system without needing additional tools, such as a remote access tool. An adversary can use
- #: lateral movement for many purposes, including remote Execution of tools, pivoting to additional
- #: systems, access to specific information or files, access to additional credentials, or to cause
- #: an effect.
+ """Discovery consists of techniques that allow the adversary to gain knowledge about the system
+ and internal network. When adversaries gain access to a new system, they must navigate
+ themselves to what they now have control of and what benefits operating from that system give
+ to their current objective or overall goals during the intrusion. The operating system provides
+ many native tools that aid in this post-compromise information-gathering phase."""
LATERAL_MOVEMENT = "LateralMovement"
- #: The execution tactic represents techniques that result in execution of adversary-controlled
- #: code on a local or remote system. This tactic is often used in conjunction with lateral
- #: movement to expand access to remote systems on a network.
+ """Lateral movement consists of techniques that enable an adversary to access and control remote
+ systems on a network and could, but does not necessarily, include execution of tools on remote
+ systems. The lateral movement techniques could allow an adversary to gather information from a
+ system without needing additional tools, such as a remote access tool. An adversary can use
+ lateral movement for many purposes, including remote Execution of tools, pivoting to additional
+ systems, access to specific information or files, access to additional credentials, or to cause
+ an effect."""
EXECUTION = "Execution"
- #: Collection consists of techniques used to identify and gather information, such as sensitive
- #: files, from a target network prior to exfiltration. This category also covers locations on a
- #: system or network where the adversary may look for information to exfiltrate.
+ """The execution tactic represents techniques that result in execution of adversary-controlled
+ code on a local or remote system. This tactic is often used in conjunction with lateral
+ movement to expand access to remote systems on a network."""
COLLECTION = "Collection"
- #: Exfiltration refers to techniques and attributes that result or aid in the adversary removing
- #: files and information from a target network. This category also covers locations on a system or
- #: network where the adversary may look for information to exfiltrate.
+ """Collection consists of techniques used to identify and gather information, such as sensitive
+ files, from a target network prior to exfiltration. This category also covers locations on a
+ system or network where the adversary may look for information to exfiltrate."""
EXFILTRATION = "Exfiltration"
- #: The command and control tactic represents how adversaries communicate with systems under their
- #: control within a target network.
+ """Exfiltration refers to techniques and attributes that result or aid in the adversary removing
+ files and information from a target network. This category also covers locations on a system or
+ network where the adversary may look for information to exfiltrate."""
COMMAND_AND_CONTROL = "CommandAndControl"
- #: The impact intent primary objective is to directly reduce the availability or integrity of a
- #: system, service, or network; including manipulation of data to impact a business or operational
- #: process. This would often refer to techniques such as ransom-ware, defacement, data
- #: manipulation and others.
+ """The command and control tactic represents how adversaries communicate with systems under their
+ control within a target network."""
IMPACT = "Impact"
+ """The impact intent primary objective is to directly reduce the availability or integrity of a
+ system, service, or network; including manipulation of data to impact a business or operational
+ process. This would often refer to techniques such as ransom-ware, defacement, data
+ manipulation and others."""
class Kind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1020,6 +1120,61 @@ class Kind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
AZURE_FUNCTION = "AzureFunction"
LOGIC_APPS_CUSTOM_CONNECTOR = "LogicAppsCustomConnector"
AUTOMATION_RULE = "AutomationRule"
+ RESOURCES_DATA_CONNECTOR = "ResourcesDataConnector"
+ NOTEBOOK = "Notebook"
+ STANDALONE = "Standalone"
+ SUMMARY_RULE = "SummaryRule"
+
+
+class ListActionKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The kind of the action."""
+
+ LOCK_USER = "LockUser"
+ UNLOCK_USER = "UnlockUser"
+
+
+class LogStatusType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Types of log status."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
+class LogType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Types of logs and tables."""
+
+ ABAP_AUDIT_LOG = "AbapAuditLog"
+ ABAP_JOB_LOG = "AbapJobLog"
+ ABAP_SPOOL_LOG = "AbapSpoolLog"
+ ABAP_SPOOL_OUTPUT_LOG = "AbapSpoolOutputLog"
+ ABAP_CHANGE_DOCS_LOG = "AbapChangeDocsLog"
+ ABAP_APP_LOG = "AbapAppLog"
+ ABAP_WORKFLOW_LOG = "AbapWorkflowLog"
+ ABAP_CR_LOG = "AbapCrLog"
+ ABAP_TABLE_DATA_LOG = "AbapTableDataLog"
+ ABAP_FILES_LOGS = "AbapFilesLogs"
+ JAVA_FILES_LOGS = "JavaFilesLogs"
+ AGRTCODES = "AGRTCODES"
+ USR01 = "USR01"
+ USR02 = "USR02"
+ AGR1251 = "AGR1251"
+ AGRUSERS = "AGRUSERS"
+ AGRPROF = "AGRPROF"
+ UST04 = "UST04"
+ USR21 = "USR21"
+ ADR6 = "ADR6"
+ ADCP = "ADCP"
+ USR05 = "USR05"
+ USGRPUSER = "USGRPUSER"
+ USERADDR = "USERADDR"
+ DEVACCESS = "DEVACCESS"
+ AGRDEFINE = "AGRDEFINE"
+ PAHI = "PAHI"
+ AGRAGRS = "AGRAGRS"
+ USRSTAMP = "USRSTAMP"
+ AGRFLAGS = "AGRFLAGS"
+ SNCSYSACL = "SNCSYSACL"
+ USRACL = "USRACL"
class MatchingMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1027,13 +1182,13 @@ class MatchingMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
groupByAlertDetails, groupByCustomDetails must be provided and not empty.
"""
- #: Grouping alerts into a single incident if all the entities match
ALL_ENTITIES = "AllEntities"
- #: Grouping any alerts triggered by this rule into a single incident
+ """Grouping alerts into a single incident if all the entities match"""
ANY_ALERT = "AnyAlert"
- #: Grouping alerts into a single incident if the selected entities, custom details and alert
- #: details match
+ """Grouping any alerts triggered by this rule into a single incident"""
SELECTED = "Selected"
+ """Grouping alerts into a single incident if the selected entities, custom details and alert
+ details match"""
class MicrosoftSecurityProductName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1048,26 +1203,66 @@ class MicrosoftSecurityProductName(str, Enum, metaclass=CaseInsensitiveEnumMeta)
MICROSOFT_DEFENDER_ADVANCED_THREAT_PROTECTION = "Microsoft Defender Advanced Threat Protection"
+class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The current mode of the workspace manager configuration."""
+
+ ENABLED = "Enabled"
+ """The workspace manager configuration is enabled"""
+ DISABLED = "Disabled"
+ """The workspace manager configuration is disabled"""
+
+
+class MtpProvider(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The available data providers."""
+
+ MICROSOFT_DEFENDER_FOR_CLOUD_APPS = "microsoftDefenderForCloudApps"
+ MICROSOFT_DEFENDER_FOR_IDENTITY = "microsoftDefenderForIdentity"
+
+
class Operator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Operator used for list of dependencies in criteria array."""
+ """Represents an operator in a ConditionClause."""
- AND = "AND"
- OR = "OR"
+ EQUALS = "Equals"
+ NOT_EQUALS = "NotEquals"
+ LESS_THAN = "LessThan"
+ LESS_THAN_EQUAL = "LessThanEqual"
+ GREATER_THAN = "GreaterThan"
+ GREATER_THAN_EQUAL = "GreaterThanEqual"
+ STRING_CONTAINS = "StringContains"
+ STRING_NOT_CONTAINS = "StringNotContains"
+ STRING_STARTS_WITH = "StringStartsWith"
+ STRING_NOT_STARTS_WITH = "StringNotStartsWith"
+ STRING_ENDS_WITH = "StringEndsWith"
+ STRING_NOT_ENDS_WITH = "StringNotEndsWith"
+ STRING_IS_EMPTY = "StringIsEmpty"
+ IS_NULL = "IsNull"
+ IS_TRUE = "IsTrue"
+ IS_FALSE = "IsFalse"
+ ARRAY_CONTAINS = "ArrayContains"
+ ARRAY_NOT_CONTAINS = "ArrayNotContains"
+ ON_OR_AFTER_RELATIVE = "OnOrAfterRelative"
+ AFTER_RELATIVE = "AfterRelative"
+ ON_OR_BEFORE_RELATIVE = "OnOrBeforeRelative"
+ BEFORE_RELATIVE = "BeforeRelative"
+ ON_OR_AFTER_ABSOLUTE = "OnOrAfterAbsolute"
+ AFTER_ABSOLUTE = "AfterAbsolute"
+ ON_OR_BEFORE_ABSOLUTE = "OnOrBeforeAbsolute"
+ BEFORE_ABSOLUTE = "BeforeAbsolute"
class OSFamily(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The operating system type."""
- #: Host with Linux operating system.
LINUX = "Linux"
- #: Host with Windows operating system.
+ """Host with Linux operating system."""
WINDOWS = "Windows"
- #: Host with Android operating system.
+ """Host with Windows operating system."""
ANDROID = "Android"
- #: Host with IOS operating system.
+ """Host with Android operating system."""
IOS = "IOS"
- #: Host with Unknown operating system.
+ """Host with IOS operating system."""
UNKNOWN = "Unknown"
+ """Host with Unknown operating system."""
class OutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1080,14 +1275,21 @@ class OutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class OwnerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """The type of the owner the incident is assigned to."""
+ """The type of the owner the hunt is assigned to."""
- #: The incident owner type is unknown
UNKNOWN = "Unknown"
- #: The incident owner type is an AAD user
+ """The hunt owner type is unknown"""
USER = "User"
- #: The incident owner type is an AAD group
+ """The hunt owner type is an AAD user"""
GROUP = "Group"
+ """The hunt owner type is an AAD group"""
+
+
+class PackageKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The package kind."""
+
+ SOLUTION = "Solution"
+ STANDALONE = "Standalone"
class PermissionProviderScope(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1101,23 +1303,12 @@ class PermissionProviderScope(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class PollingFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The polling frequency for the TAXII server."""
- #: Once a minute
ONCE_A_MINUTE = "OnceAMinute"
- #: Once an hour
+ """Once a minute"""
ONCE_AN_HOUR = "OnceAnHour"
- #: Once a day
+ """Once an hour"""
ONCE_A_DAY = "OnceADay"
-
-
-class Priority(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """Priority of recommendation."""
-
- #: Low priority for recommendation.
- LOW = "Low"
- #: Medium priority for recommendation.
- MEDIUM = "Medium"
- #: High priority for recommendation.
- HIGH = "High"
+ """Once a day"""
class ProviderName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1131,29 +1322,47 @@ class ProviderName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
MICROSOFT_AUTHORIZATION_POLICY_ASSIGNMENTS = "Microsoft.Authorization/policyAssignments"
+class ProviderPermissionsScope(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The scope on which the user should have permissions, in order to be able to create connections."""
+
+ SUBSCRIPTION = "Subscription"
+ RESOURCE_GROUP = "ResourceGroup"
+ WORKSPACE = "Workspace"
+
+
+class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The triggered analytics rule run provisioning state."""
+
+ ACCEPTED = "Accepted"
+ IN_PROGRESS = "InProgress"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+
+
class RegistryHive(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""the hive that holds the registry key."""
- #: HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE = "HKEY_LOCAL_MACHINE"
- #: HKEY_CLASSES_ROOT
+ """HKEY_LOCAL_MACHINE"""
HKEY_CLASSES_ROOT = "HKEY_CLASSES_ROOT"
- #: HKEY_CURRENT_CONFIG
+ """HKEY_CLASSES_ROOT"""
HKEY_CURRENT_CONFIG = "HKEY_CURRENT_CONFIG"
- #: HKEY_USERS
+ """HKEY_CURRENT_CONFIG"""
HKEY_USERS = "HKEY_USERS"
- #: HKEY_CURRENT_USER_LOCAL_SETTINGS
+ """HKEY_USERS"""
HKEY_CURRENT_USER_LOCAL_SETTINGS = "HKEY_CURRENT_USER_LOCAL_SETTINGS"
- #: HKEY_PERFORMANCE_DATA
+ """HKEY_CURRENT_USER_LOCAL_SETTINGS"""
HKEY_PERFORMANCE_DATA = "HKEY_PERFORMANCE_DATA"
- #: HKEY_PERFORMANCE_NLSTEXT
+ """HKEY_PERFORMANCE_DATA"""
HKEY_PERFORMANCE_NLSTEXT = "HKEY_PERFORMANCE_NLSTEXT"
- #: HKEY_PERFORMANCE_TEXT
+ """HKEY_PERFORMANCE_NLSTEXT"""
HKEY_PERFORMANCE_TEXT = "HKEY_PERFORMANCE_TEXT"
- #: HKEY_A
+ """HKEY_PERFORMANCE_TEXT"""
HKEY_A = "HKEY_A"
- #: HKEY_CURRENT_USER
+ """HKEY_A"""
HKEY_CURRENT_USER = "HKEY_CURRENT_USER"
+ """HKEY_CURRENT_USER"""
class RegistryValueKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1161,29 +1370,63 @@ class RegistryValueKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
type of a value in the registry.
"""
- #: None
NONE = "None"
- #: Unknown value type
+ """None"""
UNKNOWN = "Unknown"
- #: String value type
+ """Unknown value type"""
STRING = "String"
- #: ExpandString value type
+ """String value type"""
EXPAND_STRING = "ExpandString"
- #: Binary value type
+ """ExpandString value type"""
BINARY = "Binary"
- #: DWord value type
+ """Binary value type"""
D_WORD = "DWord"
- #: MultiString value type
+ """DWord value type"""
MULTI_STRING = "MultiString"
- #: QWord value type
+ """MultiString value type"""
Q_WORD = "QWord"
+ """QWord value type"""
+
+
+class RepositoryAccessKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The kind of repository access credentials."""
+
+ O_AUTH = "OAuth"
+ PAT = "PAT"
+ APP = "App"
class RepoType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of repository."""
GITHUB = "Github"
- DEV_OPS = "DevOps"
+ AZURE_DEV_OPS = "AzureDevOps"
+
+
+class RestApiPollerRequestPagingKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of paging."""
+
+ LINK_HEADER = "LinkHeader"
+ NEXT_PAGE_TOKEN = "NextPageToken"
+ NEXT_PAGE_URL = "NextPageUrl"
+ PERSISTENT_TOKEN = "PersistentToken"
+ PERSISTENT_LINK_HEADER = "PersistentLinkHeader"
+ OFFSET = "Offset"
+ COUNT_BASED_PAGING = "CountBasedPaging"
+
+
+class SapAuthenticationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Types of authentication to SAP."""
+
+ USERNAME_PASSWORD = "UsernamePassword"
+ SNC = "Snc"
+ SNC_WITH_USERNAME_PASSWORD = "SncWithUsernamePassword"
+
+
+class SecretSource(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type for Secret Source - Azure Key Vault."""
+
+ AZURE_KEY_VAULT = "AzureKeyVault"
class SecurityMLAnalyticsSettingsKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1204,10 +1447,10 @@ class SettingKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class SettingsStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The anomaly SecurityMLAnalyticsSettings status."""
- #: Anomaly settings status in Production mode
PRODUCTION = "Production"
- #: Anomaly settings status in Flighting mode
+ """Anomaly settings status in Production mode"""
FLIGHTING = "Flighting"
+ """Anomaly settings status in Flighting mode"""
class SettingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1218,6 +1461,15 @@ class SettingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
INFO_MESSAGE = "InfoMessage"
+class SortingDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The direction to sort the results by."""
+
+ ASC = "ASC"
+ """Indicates that the query should be sorted from lowest-to-highest value."""
+ DESC = "DESC"
+ """Indicates that the query should be sorted from lowest-to-highest value."""
+
+
class SourceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Source type of the content."""
@@ -1237,16 +1489,29 @@ class SourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class State(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""State of recommendation."""
- #: Recommendation is active.
ACTIVE = "Active"
- #: Recommendation is disabled.
- DISABLED = "Disabled"
- #: Recommendation has been completed by user.
+ """Recommendation is active."""
+ IN_PROGRESS = "InProgress"
+ """Recommendation is in progress."""
+ DISMISSED = "Dismissed"
+ """Recommendation has been dismissed."""
COMPLETED_BY_USER = "CompletedByUser"
- #: Recommendation has been completed by action.
- COMPLETED_BY_ACTION = "CompletedByAction"
- #: Recommendation is hidden.
- HIDDEN = "Hidden"
+ """Recommendation has been completed by user."""
+ COMPLETED_BY_SYSTEM = "CompletedBySystem"
+ """Recommendation has been completed by the system."""
+
+
+class Status(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The status of the hunt."""
+
+ NEW = "New"
+ ACTIVE = "Active"
+ CLOSED = "Closed"
+ BACKLOG = "Backlog"
+ APPROVED = "Approved"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ IN_PROGRESS = "InProgress"
class SupportTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1257,25 +1522,39 @@ class SupportTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
COMMUNITY = "Community"
+class SystemConfigurationConnectorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Represents the types of SAP systems."""
+
+ RFC = "Rfc"
+ SAP_CONTROL = "SapControl"
+
+
+class SystemStatusType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The status of the system."""
+
+ RUNNING = "Running"
+ STOPPED = "Stopped"
+
+
class TemplateStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The alert rule template status."""
- #: Alert rule template installed. and can not use more then once
INSTALLED = "Installed"
- #: Alert rule template is available.
+ """Alert rule template installed. and can not use more then once"""
AVAILABLE = "Available"
- #: Alert rule template is not available
+ """Alert rule template is available."""
NOT_AVAILABLE = "NotAvailable"
+ """Alert rule template is not available"""
-class ThreatIntelligenceResourceKindEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+class ThreatIntelligenceResourceInnerKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The kind of the threat intelligence entity."""
- #: Entity represents threat intelligence indicator in the system.
INDICATOR = "indicator"
+ """Entity represents threat intelligence indicator in the system."""
-class ThreatIntelligenceSortingCriteriaEnum(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+class ThreatIntelligenceSortingOrder(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Sorting order (ascending/descending/unsorted)."""
UNSORTED = "unsorted"
@@ -1283,6 +1562,27 @@ class ThreatIntelligenceSortingCriteriaEnum(str, Enum, metaclass=CaseInsensitive
DESCENDING = "descending"
+class TIObjectKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The kind of the TI object."""
+
+ ATTACK_PATTERN = "AttackPattern"
+ """A TI object that represents an attack pattern."""
+ IDENTITY = "Identity"
+ """A TI object that represents an identity."""
+ INDICATOR = "Indicator"
+ """A TI object that represents an indicator."""
+ RELATIONSHIP = "Relationship"
+ """A TI object that represents a relationship between two TI objects."""
+ THREAT_ACTOR = "ThreatActor"
+ """A TI object that represents a threat actor."""
+
+
+class TiType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """TiType."""
+
+ MAIN = "main"
+
+
class TriggerOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The operation against the threshold that triggers alert rule."""
@@ -1295,19 +1595,19 @@ class TriggerOperator(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class TriggersOn(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""TriggersOn."""
- #: Trigger on Incidents
INCIDENTS = "Incidents"
- #: Trigger on Alerts
+ """Trigger on Incidents"""
ALERTS = "Alerts"
+ """Trigger on Alerts"""
class TriggersWhen(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""TriggersWhen."""
- #: Trigger on created objects
CREATED = "Created"
- #: Trigger on updated objects
+ """Trigger on created objects"""
UPDATED = "Updated"
+ """Trigger on updated objects"""
class UebaDataSources(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1324,3 +1624,15 @@ class Version(str, Enum, metaclass=CaseInsensitiveEnumMeta):
V1 = "V1"
V2 = "V2"
+
+
+class WarningCode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of repository."""
+
+ SOURCE_CONTROL_WARNING_DELETE_SERVICE_PRINCIPAL = "SourceControlWarning_DeleteServicePrincipal"
+ SOURCE_CONTROL_WARNING_DELETE_PIPELINE_FROM_AZURE_DEV_OPS = "SourceControlWarning_DeletePipelineFromAzureDevOps"
+ SOURCE_CONTROL_WARNING_DELETE_WORKFLOW_AND_SECRET_FROM_GIT_HUB = (
+ "SourceControlWarning_DeleteWorkflowAndSecretFromGitHub"
+ )
+ SOURCE_CONTROL_WARNING_DELETE_ROLE_ASSIGNMENT = "SourceControlWarning_DeleteRoleAssignment"
+ SOURCE_CONTROL_DELETED_WITH_WARNINGS = "SourceControl_DeletedWithWarnings"
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/__init__.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/__init__.py
index 802d895ef601..67b9d4287613 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/__init__.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/__init__.py
@@ -5,48 +5,79 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+# pylint: disable=wrong-import-position
-from ._alert_rules_operations import AlertRulesOperations
-from ._actions_operations import ActionsOperations
-from ._alert_rule_templates_operations import AlertRuleTemplatesOperations
-from ._automation_rules_operations import AutomationRulesOperations
-from ._incidents_operations import IncidentsOperations
-from ._bookmarks_operations import BookmarksOperations
-from ._bookmark_relations_operations import BookmarkRelationsOperations
-from ._bookmark_operations import BookmarkOperations
-from ._ip_geodata_operations import IPGeodataOperations
-from ._domain_whois_operations import DomainWhoisOperations
-from ._entities_operations import EntitiesOperations
-from ._entities_get_timeline_operations import EntitiesGetTimelineOperations
-from ._entities_relations_operations import EntitiesRelationsOperations
-from ._entity_relations_operations import EntityRelationsOperations
-from ._entity_queries_operations import EntityQueriesOperations
-from ._entity_query_templates_operations import EntityQueryTemplatesOperations
-from ._file_imports_operations import FileImportsOperations
-from ._incident_comments_operations import IncidentCommentsOperations
-from ._incident_relations_operations import IncidentRelationsOperations
-from ._incident_tasks_operations import IncidentTasksOperations
-from ._metadata_operations import MetadataOperations
-from ._office_consents_operations import OfficeConsentsOperations
-from ._sentinel_onboarding_states_operations import SentinelOnboardingStatesOperations
-from ._get_recommendations_operations import GetRecommendationsOperations
-from ._get_operations import GetOperations
-from ._update_operations import UpdateOperations
-from ._security_ml_analytics_settings_operations import SecurityMLAnalyticsSettingsOperations
-from ._product_settings_operations import ProductSettingsOperations
-from ._source_control_operations import SourceControlOperations
-from ._source_controls_operations import SourceControlsOperations
-from ._threat_intelligence_indicator_operations import ThreatIntelligenceIndicatorOperations
-from ._threat_intelligence_indicators_operations import ThreatIntelligenceIndicatorsOperations
-from ._threat_intelligence_indicator_metrics_operations import ThreatIntelligenceIndicatorMetricsOperations
-from ._watchlists_operations import WatchlistsOperations
-from ._watchlist_items_operations import WatchlistItemsOperations
-from ._data_connectors_operations import DataConnectorsOperations
-from ._data_connectors_check_requirements_operations import DataConnectorsCheckRequirementsOperations
-from ._operations import Operations
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from ._patch import * # pylint: disable=unused-wildcard-import
+
+from ._alert_rules_operations import AlertRulesOperations # type: ignore
+from ._actions_operations import ActionsOperations # type: ignore
+from ._alert_rule_templates_operations import AlertRuleTemplatesOperations # type: ignore
+from ._automation_rules_operations import AutomationRulesOperations # type: ignore
+from ._entities_operations import EntitiesOperations # type: ignore
+from ._incidents_operations import IncidentsOperations # type: ignore
+from ._billing_statistics_operations import BillingStatisticsOperations # type: ignore
+from ._bookmarks_operations import BookmarksOperations # type: ignore
+from ._bookmark_relations_operations import BookmarkRelationsOperations # type: ignore
+from ._bookmark_operations import BookmarkOperations # type: ignore
+from ._business_application_agents_operations import BusinessApplicationAgentsOperations # type: ignore
+from ._business_application_agent_operations import BusinessApplicationAgentOperations # type: ignore
+from ._systems_operations import SystemsOperations # type: ignore
+from ._content_packages_operations import ContentPackagesOperations # type: ignore
+from ._content_package_operations import ContentPackageOperations # type: ignore
+from ._product_packages_operations import ProductPackagesOperations # type: ignore
+from ._product_package_operations import ProductPackageOperations # type: ignore
+from ._product_templates_operations import ProductTemplatesOperations # type: ignore
+from ._product_template_operations import ProductTemplateOperations # type: ignore
+from ._content_templates_operations import ContentTemplatesOperations # type: ignore
+from ._content_template_operations import ContentTemplateOperations # type: ignore
+from ._data_connector_definitions_operations import DataConnectorDefinitionsOperations # type: ignore
+from ._data_connectors_operations import DataConnectorsOperations # type: ignore
+from ._data_connectors_check_requirements_operations import DataConnectorsCheckRequirementsOperations # type: ignore
+from ._security_insights_operations import SecurityInsightsOperationsMixin # type: ignore
+from ._entities_get_timeline_operations import EntitiesGetTimelineOperations # type: ignore
+from ._entities_relations_operations import EntitiesRelationsOperations # type: ignore
+from ._entity_relations_operations import EntityRelationsOperations # type: ignore
+from ._entity_queries_operations import EntityQueriesOperations # type: ignore
+from ._entity_query_templates_operations import EntityQueryTemplatesOperations # type: ignore
+from ._file_imports_operations import FileImportsOperations # type: ignore
+from ._hunts_operations import HuntsOperations # type: ignore
+from ._hunt_relations_operations import HuntRelationsOperations # type: ignore
+from ._hunt_comments_operations import HuntCommentsOperations # type: ignore
+from ._incident_comments_operations import IncidentCommentsOperations # type: ignore
+from ._incident_relations_operations import IncidentRelationsOperations # type: ignore
+from ._incident_tasks_operations import IncidentTasksOperations # type: ignore
+from ._metadata_operations import MetadataOperations # type: ignore
+from ._office_consents_operations import OfficeConsentsOperations # type: ignore
+from ._sentinel_onboarding_states_operations import SentinelOnboardingStatesOperations # type: ignore
+from ._operations import Operations # type: ignore
+from ._get_recommendations_operations import GetRecommendationsOperations # type: ignore
+from ._get_operations import GetOperations # type: ignore
+from ._update_operations import UpdateOperations # type: ignore
+from ._reevaluate_operations import ReevaluateOperations # type: ignore
+from ._security_ml_analytics_settings_operations import SecurityMLAnalyticsSettingsOperations # type: ignore
+from ._product_settings_operations import ProductSettingsOperations # type: ignore
+from ._source_control_operations import SourceControlOperations # type: ignore
+from ._source_controls_operations import SourceControlsOperations # type: ignore
+from ._threat_intelligence_indicator_operations import ThreatIntelligenceIndicatorOperations # type: ignore
+from ._threat_intelligence_indicators_operations import ThreatIntelligenceIndicatorsOperations # type: ignore
+from ._threat_intelligence_indicator_metrics_operations import ThreatIntelligenceIndicatorMetricsOperations # type: ignore
+from ._threat_intelligence_operations import ThreatIntelligenceOperations # type: ignore
+from ._triggered_analytics_rule_run_operations import TriggeredAnalyticsRuleRunOperations # type: ignore
+from ._get_triggered_analytics_rule_runs_operations import GetTriggeredAnalyticsRuleRunsOperations # type: ignore
+from ._alert_rule_operations import AlertRuleOperations # type: ignore
+from ._watchlists_operations import WatchlistsOperations # type: ignore
+from ._watchlist_items_operations import WatchlistItemsOperations # type: ignore
+from ._workspace_manager_assignments_operations import WorkspaceManagerAssignmentsOperations # type: ignore
+from ._workspace_manager_assignment_jobs_operations import WorkspaceManagerAssignmentJobsOperations # type: ignore
+from ._workspace_manager_configurations_operations import WorkspaceManagerConfigurationsOperations # type: ignore
+from ._workspace_manager_groups_operations import WorkspaceManagerGroupsOperations # type: ignore
+from ._workspace_manager_members_operations import WorkspaceManagerMembersOperations # type: ignore
from ._patch import __all__ as _patch_all
-from ._patch import * # pylint: disable=unused-wildcard-import
+from ._patch import *
from ._patch import patch_sdk as _patch_sdk
__all__ = [
@@ -54,28 +85,47 @@
"ActionsOperations",
"AlertRuleTemplatesOperations",
"AutomationRulesOperations",
+ "EntitiesOperations",
"IncidentsOperations",
+ "BillingStatisticsOperations",
"BookmarksOperations",
"BookmarkRelationsOperations",
"BookmarkOperations",
- "IPGeodataOperations",
- "DomainWhoisOperations",
- "EntitiesOperations",
+ "BusinessApplicationAgentsOperations",
+ "BusinessApplicationAgentOperations",
+ "SystemsOperations",
+ "ContentPackagesOperations",
+ "ContentPackageOperations",
+ "ProductPackagesOperations",
+ "ProductPackageOperations",
+ "ProductTemplatesOperations",
+ "ProductTemplateOperations",
+ "ContentTemplatesOperations",
+ "ContentTemplateOperations",
+ "DataConnectorDefinitionsOperations",
+ "DataConnectorsOperations",
+ "DataConnectorsCheckRequirementsOperations",
+ "SecurityInsightsOperationsMixin",
"EntitiesGetTimelineOperations",
"EntitiesRelationsOperations",
"EntityRelationsOperations",
"EntityQueriesOperations",
"EntityQueryTemplatesOperations",
"FileImportsOperations",
+ "HuntsOperations",
+ "HuntRelationsOperations",
+ "HuntCommentsOperations",
"IncidentCommentsOperations",
"IncidentRelationsOperations",
"IncidentTasksOperations",
"MetadataOperations",
"OfficeConsentsOperations",
"SentinelOnboardingStatesOperations",
+ "Operations",
"GetRecommendationsOperations",
"GetOperations",
"UpdateOperations",
+ "ReevaluateOperations",
"SecurityMLAnalyticsSettingsOperations",
"ProductSettingsOperations",
"SourceControlOperations",
@@ -83,11 +133,17 @@
"ThreatIntelligenceIndicatorOperations",
"ThreatIntelligenceIndicatorsOperations",
"ThreatIntelligenceIndicatorMetricsOperations",
+ "ThreatIntelligenceOperations",
+ "TriggeredAnalyticsRuleRunOperations",
+ "GetTriggeredAnalyticsRuleRunsOperations",
+ "AlertRuleOperations",
"WatchlistsOperations",
"WatchlistItemsOperations",
- "DataConnectorsOperations",
- "DataConnectorsCheckRequirementsOperations",
- "Operations",
+ "WorkspaceManagerAssignmentsOperations",
+ "WorkspaceManagerAssignmentJobsOperations",
+ "WorkspaceManagerConfigurationsOperations",
+ "WorkspaceManagerGroupsOperations",
+ "WorkspaceManagerMembersOperations",
]
-__all__.extend([p for p in _patch_all if p not in __all__])
+__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_actions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_actions_operations.py
index a26c034dbc69..cfdd6a04ec81 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_actions_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_actions_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_by_alert_rule_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_by_alert_rule_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -73,7 +69,7 @@ def build_list_by_alert_rule_request(
"ruleId": _SERIALIZER.url("rule_id", rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -90,9 +86,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -101,7 +95,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -117,7 +111,7 @@ def build_get_request(
"actionId": _SERIALIZER.url("action_id", action_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -134,9 +128,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -146,7 +138,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -162,7 +154,7 @@ def build_create_or_update_request(
"actionId": _SERIALIZER.url("action_id", action_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -181,9 +173,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -192,7 +182,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -208,7 +198,7 @@ def build_delete_request(
"actionId": _SERIALIZER.url("action_id", action_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -251,7 +241,6 @@ def list_by_alert_rule(
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ActionResponse or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.ActionResponse]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -259,12 +248,10 @@ def list_by_alert_rule(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ActionsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -275,18 +262,16 @@ def list_by_alert_rule(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_by_alert_rule_request(
+ _request = build_list_by_alert_rule_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_by_alert_rule.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -298,13 +283,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("ActionsList", pipeline_response)
@@ -314,10 +298,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -329,10 +314,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list_by_alert_rule.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, rule_id: str, action_id: str, **kwargs: Any
@@ -348,12 +329,11 @@ def get(
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -364,27 +344,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ActionResponse] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
action_id=action_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -393,16 +370,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ActionResponse", pipeline_response)
+ deserialized = self._deserialize("ActionResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -432,7 +405,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -445,7 +417,7 @@ def create_or_update(
workspace_name: str,
rule_id: str,
action_id: str,
- action: IO,
+ action: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -462,11 +434,10 @@ def create_or_update(
:param action_id: Action ID. Required.
:type action_id: str
:param action: The action. Required.
- :type action: IO
+ :type action: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -479,7 +450,7 @@ def create_or_update(
workspace_name: str,
rule_id: str,
action_id: str,
- action: Union[_models.ActionRequest, IO],
+ action: Union[_models.ActionRequest, IO[bytes]],
**kwargs: Any
) -> _models.ActionResponse:
"""Creates or updates the action of alert rule.
@@ -493,17 +464,13 @@ def create_or_update(
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :param action: The action. Is either a model type or a IO type. Required.
- :type action: ~azure.mgmt.securityinsight.models.ActionRequest or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param action: The action. Is either a ActionRequest type or a IO[bytes] type. Required.
+ :type action: ~azure.mgmt.securityinsight.models.ActionRequest or IO[bytes]
:return: ActionResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ActionResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -514,21 +481,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ActionResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(action, (IO, bytes)):
+ if isinstance(action, (IOBase, bytes)):
_content = action
else:
_json = self._serialize.body(action, "ActionRequest")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
@@ -538,15 +503,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -555,21 +519,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ActionResponse", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ActionResponse", pipeline_response)
+ deserialized = self._deserialize("ActionResponse", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, rule_id: str, action_id: str, **kwargs: Any
@@ -585,12 +541,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type rule_id: str
:param action_id: Action ID. Required.
:type action_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -601,27 +556,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
action_id=action_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -631,8 +583,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_operations.py
new file mode 100644
index 000000000000..60ad709213e4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_operations.py
@@ -0,0 +1,312 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterator, Optional, TypeVar, Union, cast, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_trigger_rule_run_request(
+ resource_group_name: str, workspace_name: str, rule_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/triggerRuleRun",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "ruleId": _SERIALIZER.url("rule_id", rule_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class AlertRuleOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`alert_rule` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ def _trigger_rule_run_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: Union[_models.AnalyticsRuleRunTrigger, IO[bytes]],
+ **kwargs: Any
+ ) -> Iterator[bytes]:
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(analytics_rule_run_trigger_parameter, (IOBase, bytes)):
+ _content = analytics_rule_run_trigger_parameter
+ else:
+ _json = self._serialize.body(analytics_rule_run_trigger_parameter, "AnalyticsRuleRunTrigger")
+
+ _request = build_trigger_rule_run_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_id=rule_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ try:
+ response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: _models.AnalyticsRuleRunTrigger,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter.
+ Required.
+ :type analytics_rule_run_trigger_parameter:
+ ~azure.mgmt.securityinsight.models.AnalyticsRuleRunTrigger
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter.
+ Required.
+ :type analytics_rule_run_trigger_parameter: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_trigger_rule_run(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ rule_id: str,
+ analytics_rule_run_trigger_parameter: Union[_models.AnalyticsRuleRunTrigger, IO[bytes]],
+ **kwargs: Any
+ ) -> LROPoller[None]:
+ """triggers analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_id: Alert rule ID. Required.
+ :type rule_id: str
+ :param analytics_rule_run_trigger_parameter: The Analytics Rule Run Trigger parameter. Is
+ either a AnalyticsRuleRunTrigger type or a IO[bytes] type. Required.
+ :type analytics_rule_run_trigger_parameter:
+ ~azure.mgmt.securityinsight.models.AnalyticsRuleRunTrigger or IO[bytes]
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._trigger_rule_run_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_id=rule_id,
+ analytics_rule_run_trigger_parameter=analytics_rule_run_trigger_parameter,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, NoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return LROPoller[None].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_templates_operations.py
index 938d7e565001..f392472cbb82 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_templates_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rule_templates_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +44,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +53,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +67,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +84,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +93,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +108,7 @@ def build_get_request(
"alertRuleTemplateId": _SERIALIZER.url("alert_rule_template_id", alert_rule_template_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -156,7 +149,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AlertRuleTemplate or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.AlertRuleTemplate]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -164,12 +156,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRuleTemplatesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -180,17 +170,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -202,13 +190,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("AlertRuleTemplatesList", pipeline_response)
@@ -218,10 +205,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -233,10 +221,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, alert_rule_template_id: str, **kwargs: Any
@@ -250,12 +234,11 @@ def get(
:type workspace_name: str
:param alert_rule_template_id: Alert rule template ID. Required.
:type alert_rule_template_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRuleTemplate or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRuleTemplate
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -266,26 +249,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRuleTemplate] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
alert_rule_template_id=alert_rule_template_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -294,13 +274,9 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AlertRuleTemplate", pipeline_response)
+ deserialized = self._deserialize("AlertRuleTemplate", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rules_operations.py
index 911942febd7a..dc3e2fb70e09 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rules_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_alert_rules_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +109,7 @@ def build_get_request(
"ruleId": _SERIALIZER.url("rule_id", rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +126,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -144,7 +136,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -159,7 +151,7 @@ def build_create_or_update_request(
"ruleId": _SERIALIZER.url("rule_id", rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -178,9 +170,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -189,7 +179,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -204,7 +194,7 @@ def build_delete_request(
"ruleId": _SERIALIZER.url("rule_id", rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -243,7 +233,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AlertRule or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.AlertRule]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -251,12 +240,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRulesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -267,17 +254,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -289,13 +274,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("AlertRulesList", pipeline_response)
@@ -305,10 +289,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -320,10 +305,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules"
- }
-
@distributed_trace
def get(self, resource_group_name: str, workspace_name: str, rule_id: str, **kwargs: Any) -> _models.AlertRule:
"""Gets the alert rule.
@@ -335,12 +316,11 @@ def get(self, resource_group_name: str, workspace_name: str, rule_id: str, **kwa
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -351,26 +331,23 @@ def get(self, resource_group_name: str, workspace_name: str, rule_id: str, **kwa
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AlertRule] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -379,16 +356,12 @@ def get(self, resource_group_name: str, workspace_name: str, rule_id: str, **kwa
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AlertRule", pipeline_response)
+ deserialized = self._deserialize("AlertRule", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -415,7 +388,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -427,7 +399,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
rule_id: str,
- alert_rule: IO,
+ alert_rule: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -442,11 +414,10 @@ def create_or_update(
:param rule_id: Alert rule ID. Required.
:type rule_id: str
:param alert_rule: The alert rule. Required.
- :type alert_rule: IO
+ :type alert_rule: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -458,7 +429,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
rule_id: str,
- alert_rule: Union[_models.AlertRule, IO],
+ alert_rule: Union[_models.AlertRule, IO[bytes]],
**kwargs: Any
) -> _models.AlertRule:
"""Creates or updates the alert rule.
@@ -470,17 +441,13 @@ def create_or_update(
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :param alert_rule: The alert rule. Is either a model type or a IO type. Required.
- :type alert_rule: ~azure.mgmt.securityinsight.models.AlertRule or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param alert_rule: The alert rule. Is either a AlertRule type or a IO[bytes] type. Required.
+ :type alert_rule: ~azure.mgmt.securityinsight.models.AlertRule or IO[bytes]
:return: AlertRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AlertRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -491,21 +458,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.AlertRule] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(alert_rule, (IO, bytes)):
+ if isinstance(alert_rule, (IOBase, bytes)):
_content = alert_rule
else:
_json = self._serialize.body(alert_rule, "AlertRule")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
@@ -514,15 +479,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -531,21 +495,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("AlertRule", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("AlertRule", pipeline_response)
+ deserialized = self._deserialize("AlertRule", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, rule_id: str, **kwargs: Any
@@ -559,12 +515,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param rule_id: Alert rule ID. Required.
:type rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -575,26 +530,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
rule_id=rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -604,8 +556,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_automation_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_automation_rules_operations.py
index bb9e386f6773..38671b25540e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_automation_rules_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_automation_rules_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,24 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
- from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -52,9 +46,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -63,7 +55,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -78,7 +70,7 @@ def build_get_request(
"automationRuleId": _SERIALIZER.url("automation_rule_id", automation_rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -95,9 +87,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -107,7 +97,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -122,7 +112,7 @@ def build_create_or_update_request(
"automationRuleId": _SERIALIZER.url("automation_rule_id", automation_rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -141,9 +131,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -152,7 +140,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -167,7 +155,7 @@ def build_delete_request(
"automationRuleId": _SERIALIZER.url("automation_rule_id", automation_rule_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -184,9 +172,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -195,7 +181,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -209,7 +195,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -252,12 +238,11 @@ def get(
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -268,26 +253,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AutomationRule] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -296,16 +278,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("AutomationRule", pipeline_response)
+ deserialized = self._deserialize("AutomationRule", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -332,7 +310,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -344,7 +321,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
automation_rule_id: str,
- automation_rule_to_upsert: Optional[IO] = None,
+ automation_rule_to_upsert: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -359,11 +336,10 @@ def create_or_update(
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
:param automation_rule_to_upsert: The automation rule. Default value is None.
- :type automation_rule_to_upsert: IO
+ :type automation_rule_to_upsert: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
@@ -375,7 +351,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
automation_rule_id: str,
- automation_rule_to_upsert: Optional[Union[_models.AutomationRule, IO]] = None,
+ automation_rule_to_upsert: Optional[Union[_models.AutomationRule, IO[bytes]]] = None,
**kwargs: Any
) -> _models.AutomationRule:
"""Creates or updates the automation rule.
@@ -387,18 +363,14 @@ def create_or_update(
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :param automation_rule_to_upsert: The automation rule. Is either a model type or a IO type.
- Default value is None.
- :type automation_rule_to_upsert: ~azure.mgmt.securityinsight.models.AutomationRule or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param automation_rule_to_upsert: The automation rule. Is either a AutomationRule type or a
+ IO[bytes] type. Default value is None.
+ :type automation_rule_to_upsert: ~azure.mgmt.securityinsight.models.AutomationRule or IO[bytes]
:return: AutomationRule or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.AutomationRule
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -409,16 +381,14 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.AutomationRule] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(automation_rule_to_upsert, (IO, bytes)):
+ if isinstance(automation_rule_to_upsert, (IOBase, bytes)):
_content = automation_rule_to_upsert
else:
if automation_rule_to_upsert is not None:
@@ -426,7 +396,7 @@ def create_or_update(
else:
_json = None
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
@@ -435,15 +405,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -452,21 +421,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("AutomationRule", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("AutomationRule", pipeline_response)
+ deserialized = self._deserialize("AutomationRule", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
-
@distributed_trace
def delete(self, resource_group_name: str, workspace_name: str, automation_rule_id: str, **kwargs: Any) -> JSON:
"""Delete the automation rule.
@@ -478,12 +439,11 @@ def delete(self, resource_group_name: str, workspace_name: str, automation_rule_
:type workspace_name: str
:param automation_rule_id: Automation rule ID. Required.
:type automation_rule_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -494,26 +454,23 @@ def delete(self, resource_group_name: str, workspace_name: str, automation_rule_
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[JSON] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
automation_rule_id=automation_rule_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -522,21 +479,13 @@ def delete(self, resource_group_name: str, workspace_name: str, automation_rule_
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("object", pipeline_response)
-
- if response.status_code == 204:
- deserialized = self._deserialize("object", pipeline_response)
+ deserialized = self._deserialize("object", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}"
- }
-
@distributed_trace
def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> Iterable["_models.AutomationRule"]:
"""Gets all automation rules.
@@ -546,7 +495,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either AutomationRule or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.AutomationRule]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -554,12 +502,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.AutomationRulesList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -570,17 +516,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -592,13 +536,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("AutomationRulesList", pipeline_response)
@@ -608,10 +551,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -622,7 +566,3 @@ def get_next(next_link=None):
return pipeline_response
return ItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_billing_statistics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_billing_statistics_operations.py
new file mode 100644
index 000000000000..e13cfc924e16
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_billing_statistics_operations.py
@@ -0,0 +1,286 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/billingStatistics",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, billing_statistic_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/billingStatistics/{billingStatisticName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "billingStatisticName": _SERIALIZER.url(
+ "billing_statistic_name", billing_statistic_name, "str", pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class BillingStatisticsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`billing_statistics` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> Iterable["_models.BillingStatistic"]:
+ """Gets all Microsoft Sentinel billing statistics.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either BillingStatistic or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.BillingStatistic]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BillingStatisticList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("BillingStatisticList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, billing_statistic_name: str, **kwargs: Any
+ ) -> _models.BillingStatistic:
+ """Gets a billing statistic.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param billing_statistic_name: The name of the billing statistic. Required.
+ :type billing_statistic_name: str
+ :return: BillingStatistic or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BillingStatistic
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BillingStatistic] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ billing_statistic_name=billing_statistic_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("BillingStatistic", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_operations.py
index 493b78b645ee..dd56dedfe862 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +43,7 @@ def build_expand_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -57,7 +53,7 @@ def build_expand_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_expand_request(
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -130,7 +126,6 @@ def expand(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -142,7 +137,7 @@ def expand(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -158,11 +153,10 @@ def expand(
:type bookmark_id: str
:param parameters: The parameters required to execute an expand operation on the given
bookmark. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -174,7 +168,7 @@ def expand(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- parameters: Union[_models.BookmarkExpandParameters, IO],
+ parameters: Union[_models.BookmarkExpandParameters, IO[bytes]],
**kwargs: Any
) -> _models.BookmarkExpandResponse:
"""Expand an bookmark.
@@ -187,17 +181,13 @@ def expand(
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
:param parameters: The parameters required to execute an expand operation on the given
- bookmark. Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.BookmarkExpandParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ bookmark. Is either a BookmarkExpandParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.BookmarkExpandParameters or IO[bytes]
:return: BookmarkExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.BookmarkExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -208,21 +198,19 @@ def expand(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.BookmarkExpandResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "BookmarkExpandParameters")
- request = build_expand_request(
+ _request = build_expand_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -231,15 +219,14 @@ def expand(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.expand.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -248,13 +235,9 @@ def expand(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("BookmarkExpandResponse", pipeline_response)
+ deserialized = self._deserialize("BookmarkExpandResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- expand.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_relations_operations.py
index ea17c2058589..4ca95cd2a626 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmark_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -56,9 +54,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -67,7 +63,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -82,7 +78,7 @@ def build_list_request(
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -112,9 +108,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -123,7 +117,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -136,10 +130,12 @@ def build_get_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -161,9 +157,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -173,7 +167,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -186,10 +180,12 @@ def build_create_or_update_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -213,9 +209,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -224,7 +218,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -237,10 +231,12 @@ def build_delete_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -303,7 +299,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -311,12 +306,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -327,7 +320,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -337,12 +330,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -354,13 +345,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -370,10 +360,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -385,10 +376,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, bookmark_id: str, relation_name: str, **kwargs: Any
@@ -404,12 +391,11 @@ def get(
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -420,27 +406,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -449,16 +432,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -488,7 +467,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -501,7 +479,7 @@ def create_or_update(
workspace_name: str,
bookmark_id: str,
relation_name: str,
- relation: IO,
+ relation: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -518,11 +496,10 @@ def create_or_update(
:param relation_name: Relation Name. Required.
:type relation_name: str
:param relation: The relation model. Required.
- :type relation: IO
+ :type relation: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -535,7 +512,7 @@ def create_or_update(
workspace_name: str,
bookmark_id: str,
relation_name: str,
- relation: Union[_models.Relation, IO],
+ relation: Union[_models.Relation, IO[bytes]],
**kwargs: Any
) -> _models.Relation:
"""Creates the bookmark relation.
@@ -549,17 +526,13 @@ def create_or_update(
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :param relation: The relation model. Is either a model type or a IO type. Required.
- :type relation: ~azure.mgmt.securityinsight.models.Relation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param relation: The relation model. Is either a Relation type or a IO[bytes] type. Required.
+ :type relation: ~azure.mgmt.securityinsight.models.Relation or IO[bytes]
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -570,21 +543,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(relation, (IO, bytes)):
+ if isinstance(relation, (IOBase, bytes)):
_content = relation
else:
_json = self._serialize.body(relation, "Relation")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -594,15 +565,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -611,21 +581,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Relation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, bookmark_id: str, relation_name: str, **kwargs: Any
@@ -641,12 +603,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type bookmark_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -657,27 +618,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -687,8 +645,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmarks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmarks_operations.py
index 3f7b2f8ad3de..4eafb3fbcf77 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmarks_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_bookmarks_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +109,7 @@ def build_get_request(
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +126,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -144,7 +136,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -159,7 +151,7 @@ def build_create_or_update_request(
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -178,9 +170,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -189,7 +179,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -204,7 +194,7 @@ def build_delete_request(
"bookmarkId": _SERIALIZER.url("bookmark_id", bookmark_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -243,7 +233,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Bookmark or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Bookmark]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -251,12 +240,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.BookmarkList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -267,17 +254,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -289,13 +274,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("BookmarkList", pipeline_response)
@@ -305,10 +289,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -320,10 +305,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks"
- }
-
@distributed_trace
def get(self, resource_group_name: str, workspace_name: str, bookmark_id: str, **kwargs: Any) -> _models.Bookmark:
"""Gets a bookmark.
@@ -335,12 +316,11 @@ def get(self, resource_group_name: str, workspace_name: str, bookmark_id: str, *
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -351,26 +331,23 @@ def get(self, resource_group_name: str, workspace_name: str, bookmark_id: str, *
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Bookmark] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -379,16 +356,12 @@ def get(self, resource_group_name: str, workspace_name: str, bookmark_id: str, *
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Bookmark", pipeline_response)
+ deserialized = self._deserialize("Bookmark", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -415,7 +388,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
@@ -427,7 +399,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- bookmark: IO,
+ bookmark: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -442,11 +414,10 @@ def create_or_update(
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
:param bookmark: The bookmark. Required.
- :type bookmark: IO
+ :type bookmark: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
@@ -458,7 +429,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
bookmark_id: str,
- bookmark: Union[_models.Bookmark, IO],
+ bookmark: Union[_models.Bookmark, IO[bytes]],
**kwargs: Any
) -> _models.Bookmark:
"""Creates or updates the bookmark.
@@ -470,17 +441,13 @@ def create_or_update(
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :param bookmark: The bookmark. Is either a model type or a IO type. Required.
- :type bookmark: ~azure.mgmt.securityinsight.models.Bookmark or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param bookmark: The bookmark. Is either a Bookmark type or a IO[bytes] type. Required.
+ :type bookmark: ~azure.mgmt.securityinsight.models.Bookmark or IO[bytes]
:return: Bookmark or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Bookmark
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -491,21 +458,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Bookmark] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(bookmark, (IO, bytes)):
+ if isinstance(bookmark, (IOBase, bytes)):
_content = bookmark
else:
_json = self._serialize.body(bookmark, "Bookmark")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
@@ -514,15 +479,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -531,21 +495,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Bookmark", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Bookmark", pipeline_response)
+ deserialized = self._deserialize("Bookmark", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, bookmark_id: str, **kwargs: Any
@@ -559,12 +515,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param bookmark_id: Bookmark ID. Required.
:type bookmark_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -575,26 +530,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
bookmark_id=bookmark_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -604,8 +556,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agent_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agent_operations.py
new file mode 100644
index 000000000000..c84d5ac7aee5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agent_operations.py
@@ -0,0 +1,159 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, agent_resource_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class BusinessApplicationAgentOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`business_application_agent` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, agent_resource_name: str, **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Gets Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BusinessApplicationAgentResource] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("BusinessApplicationAgentResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agents_operations.py
new file mode 100644
index 000000000000..9012f4699a97
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_business_application_agents_operations.py
@@ -0,0 +1,498 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, agent_resource_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, agent_resource_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class BusinessApplicationAgentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`business_application_agents` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[_models.BusinessApplicationAgentResource] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Default value is None.
+ :type agent_to_upsert: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Default value is None.
+ :type agent_to_upsert: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ agent_to_upsert: Optional[Union[_models.BusinessApplicationAgentResource, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.BusinessApplicationAgentResource:
+ """Creates or updates the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param agent_to_upsert: The Business Application Agent. Is either a
+ BusinessApplicationAgentResource type or a IO[bytes] type. Default value is None.
+ :type agent_to_upsert: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource or
+ IO[bytes]
+ :return: BusinessApplicationAgentResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.BusinessApplicationAgentResource] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(agent_to_upsert, (IOBase, bytes)):
+ _content = agent_to_upsert
+ else:
+ if agent_to_upsert is not None:
+ _json = self._serialize.body(agent_to_upsert, "BusinessApplicationAgentResource")
+ else:
+ _json = None
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("BusinessApplicationAgentResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, agent_resource_name: str, **kwargs: Any
+ ) -> None:
+ """Delete the Business Application Agent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.BusinessApplicationAgentResource"]:
+ """Gets all Business Application Agents under the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either BusinessApplicationAgentResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.BusinessApplicationAgentResource]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.BusinessApplicationAgentsList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("BusinessApplicationAgentsList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_package_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_package_operations.py
new file mode 100644
index 000000000000..ba8074cda008
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_package_operations.py
@@ -0,0 +1,339 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_install_request(
+ resource_group_name: str, workspace_name: str, package_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages/{packageId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "packageId": _SERIALIZER.url("package_id", package_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_uninstall_request(
+ resource_group_name: str, workspace_name: str, package_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages/{packageId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "packageId": _SERIALIZER.url("package_id", package_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ContentPackageOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`content_package` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: _models.PackageModel,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Required.
+ :type package_installation_properties: ~azure.mgmt.securityinsight.models.PackageModel
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Required.
+ :type package_installation_properties: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ package_id: str,
+ package_installation_properties: Union[_models.PackageModel, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.PackageModel:
+ """Install a package to the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :param package_installation_properties: Package installation properties. Is either a
+ PackageModel type or a IO[bytes] type. Required.
+ :type package_installation_properties: ~azure.mgmt.securityinsight.models.PackageModel or
+ IO[bytes]
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.PackageModel] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(package_installation_properties, (IOBase, bytes)):
+ _content = package_installation_properties
+ else:
+ _json = self._serialize.body(package_installation_properties, "PackageModel")
+
+ _request = build_install_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("PackageModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def uninstall( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any
+ ) -> None:
+ """Uninstall a package from the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_uninstall_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_packages_operations.py
new file mode 100644
index 000000000000..9f5a3edc28dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_packages_operations.py
@@ -0,0 +1,344 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if search is not None:
+ _params["$search"] = _SERIALIZER.query("search", search, "str")
+ if count is not None:
+ _params["$count"] = _SERIALIZER.query("count", count, "bool")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, package_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages/{packageId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "packageId": _SERIALIZER.url("package_id", package_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ContentPackagesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`content_packages` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.PackageModel"]:
+ """Gets all installed packages.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either PackageModel or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.PackageModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.PackageList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("PackageList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any
+ ) -> _models.PackageModel:
+ """Gets an installed packages by its id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: PackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.PackageModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.PackageModel] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("PackageModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_template_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_template_operations.py
new file mode 100644
index 000000000000..d62d4795da61
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_template_operations.py
@@ -0,0 +1,445 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_install_request(
+ resource_group_name: str, workspace_name: str, template_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates/{templateId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "templateId": _SERIALIZER.url("template_id", template_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, template_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates/{templateId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "templateId": _SERIALIZER.url("template_id", template_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, template_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates/{templateId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "templateId": _SERIALIZER.url("template_id", template_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ContentTemplateOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`content_template` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: _models.TemplateModel,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Required.
+ :type template_installation_properties: ~azure.mgmt.securityinsight.models.TemplateModel
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Required.
+ :type template_installation_properties: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def install(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ template_id: str,
+ template_installation_properties: Union[_models.TemplateModel, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Install a template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :param template_installation_properties: Template installation properties. Is either a
+ TemplateModel type or a IO[bytes] type. Required.
+ :type template_installation_properties: ~azure.mgmt.securityinsight.models.TemplateModel or
+ IO[bytes]
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.TemplateModel] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(template_installation_properties, (IOBase, bytes)):
+ _content = template_installation_properties
+ else:
+ _json = self._serialize.body(template_installation_properties, "TemplateModel")
+
+ _request = build_install_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TemplateModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any
+ ) -> _models.TemplateModel:
+ """Gets a template byt its identifier.
+ Expandable properties:
+
+
+ * properties/mainTemplate
+ * properties/dependantTemplates.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: TemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TemplateModel
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TemplateModel] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TemplateModel", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any
+ ) -> None:
+ """Delete an installed template.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_templates_operations.py
new file mode 100644
index 000000000000..b994bf694f1c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_content_templates_operations.py
@@ -0,0 +1,256 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ expand: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if expand is not None:
+ _params["$expand"] = _SERIALIZER.query("expand", expand, "str")
+ if search is not None:
+ _params["$search"] = _SERIALIZER.query("search", search, "str")
+ if count is not None:
+ _params["$count"] = _SERIALIZER.query("count", count, "bool")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ContentTemplatesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`content_templates` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ expand: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.TemplateModel"]:
+ """Gets all installed templates.
+ Expandable properties:
+
+
+ * properties/mainTemplate
+ * properties/dependantTemplates.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param expand: Expands the object with optional fiends that are not included by default.
+ Optional. Default value is None.
+ :type expand: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either TemplateModel or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.TemplateModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TemplateList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ expand=expand,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("TemplateList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connector_definitions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connector_definitions_operations.py
new file mode 100644
index 000000000000..9006cd498337
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connector_definitions_operations.py
@@ -0,0 +1,585 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{dataConnectorDefinitionName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "dataConnectorDefinitionName": _SERIALIZER.url(
+ "data_connector_definition_name", data_connector_definition_name, "str", pattern=r"^[a-z0-9A-Z-_]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{dataConnectorDefinitionName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "dataConnectorDefinitionName": _SERIALIZER.url(
+ "data_connector_definition_name", data_connector_definition_name, "str", pattern=r"^[a-z0-9A-Z-_]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{dataConnectorDefinitionName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "dataConnectorDefinitionName": _SERIALIZER.url(
+ "data_connector_definition_name", data_connector_definition_name, "str", pattern=r"^[a-z0-9A-Z-_]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class DataConnectorDefinitionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`data_connector_definitions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> Iterable["_models.DataConnectorDefinition"]:
+ """Gets all data connector definitions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either DataConnectorDefinition or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.DataConnectorDefinition]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.DataConnectorDefinitionArmCollectionWrapper] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataConnectorDefinitionArmCollectionWrapper", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, data_connector_definition_name: str, **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Gets a data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.DataConnectorDefinition] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("DataConnectorDefinition", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: _models.DataConnectorDefinition,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Required.
+ :type connector_definition_input: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Required.
+ :type connector_definition_input: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ data_connector_definition_name: str,
+ connector_definition_input: Union[_models.DataConnectorDefinition, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.DataConnectorDefinition:
+ """Creates or updates the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :param connector_definition_input: The data connector definition. Is either a
+ DataConnectorDefinition type or a IO[bytes] type. Required.
+ :type connector_definition_input: ~azure.mgmt.securityinsight.models.DataConnectorDefinition or
+ IO[bytes]
+ :return: DataConnectorDefinition or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.DataConnectorDefinition
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataConnectorDefinition] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(connector_definition_input, (IOBase, bytes)):
+ _content = connector_definition_input
+ else:
+ _json = self._serialize.body(connector_definition_input, "DataConnectorDefinition")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("DataConnectorDefinition", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, data_connector_definition_name: str, **kwargs: Any
+ ) -> None:
+ """Delete the data connector definition.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param data_connector_definition_name: The data connector definition name. Required.
+ :type data_connector_definition_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ data_connector_definition_name=data_connector_definition_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_check_requirements_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_check_requirements_operations.py
index a443aede96d7..00ab9b9a93bc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_check_requirements_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_check_requirements_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +43,7 @@ def build_post_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -57,7 +53,7 @@ def build_post_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -71,7 +67,7 @@ def build_post_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -84,7 +80,7 @@ def build_post_request(
return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
-class DataConnectorsCheckRequirementsOperations:
+class DataConnectorsCheckRequirementsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@@ -127,7 +123,6 @@ def post(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -138,7 +133,7 @@ def post(
self,
resource_group_name: str,
workspace_name: str,
- data_connectors_check_requirements: IO,
+ data_connectors_check_requirements: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -152,11 +147,10 @@ def post(
:type workspace_name: str
:param data_connectors_check_requirements: The parameters for requirements check message.
Required.
- :type data_connectors_check_requirements: IO
+ :type data_connectors_check_requirements: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -167,7 +161,7 @@ def post(
self,
resource_group_name: str,
workspace_name: str,
- data_connectors_check_requirements: Union[_models.DataConnectorsCheckRequirements, IO],
+ data_connectors_check_requirements: Union[_models.DataConnectorsCheckRequirements, IO[bytes]],
**kwargs: Any
) -> _models.DataConnectorRequirementsState:
"""Get requirements state for a data connector type.
@@ -178,18 +172,14 @@ def post(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param data_connectors_check_requirements: The parameters for requirements check message. Is
- either a model type or a IO type. Required.
+ either a DataConnectorsCheckRequirements type or a IO[bytes] type. Required.
:type data_connectors_check_requirements:
- ~azure.mgmt.securityinsight.models.DataConnectorsCheckRequirements or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.DataConnectorsCheckRequirements or IO[bytes]
:return: DataConnectorRequirementsState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnectorRequirementsState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -200,21 +190,19 @@ def post(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.DataConnectorRequirementsState] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(data_connectors_check_requirements, (IO, bytes)):
+ if isinstance(data_connectors_check_requirements, (IOBase, bytes)):
_content = data_connectors_check_requirements
else:
_json = self._serialize.body(data_connectors_check_requirements, "DataConnectorsCheckRequirements")
- request = build_post_request(
+ _request = build_post_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -222,15 +210,14 @@ def post(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.post.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -239,13 +226,9 @@ def post(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("DataConnectorRequirementsState", pipeline_response)
+ deserialized = self._deserialize("DataConnectorRequirementsState", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- post.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_operations.py
index d0adeeadb0c8..2075e02c91fc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_data_connectors_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +109,7 @@ def build_get_request(
"dataConnectorId": _SERIALIZER.url("data_connector_id", data_connector_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +126,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -144,7 +136,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -159,7 +151,7 @@ def build_create_or_update_request(
"dataConnectorId": _SERIALIZER.url("data_connector_id", data_connector_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -178,9 +170,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -189,7 +179,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -204,7 +194,7 @@ def build_delete_request(
"dataConnectorId": _SERIALIZER.url("data_connector_id", data_connector_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -221,9 +211,7 @@ def build_connect_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -233,7 +221,7 @@ def build_connect_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -248,7 +236,7 @@ def build_connect_request(
"dataConnectorId": _SERIALIZER.url("data_connector_id", data_connector_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -267,9 +255,7 @@ def build_disconnect_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -278,7 +264,7 @@ def build_disconnect_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/disconnect",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -293,7 +279,7 @@ def build_disconnect_request(
"dataConnectorId": _SERIALIZER.url("data_connector_id", data_connector_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -332,7 +318,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either DataConnector or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.DataConnector]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -340,12 +325,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.DataConnectorList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -356,17 +339,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -378,13 +359,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("DataConnectorList", pipeline_response)
@@ -394,10 +374,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -409,10 +390,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, data_connector_id: str, **kwargs: Any
@@ -426,12 +403,11 @@ def get(
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -442,26 +418,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.DataConnector] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -470,16 +443,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("DataConnector", pipeline_response)
+ deserialized = self._deserialize("DataConnector", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -506,7 +475,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
@@ -518,7 +486,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- data_connector: IO,
+ data_connector: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -533,11 +501,10 @@ def create_or_update(
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
:param data_connector: The data connector. Required.
- :type data_connector: IO
+ :type data_connector: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
@@ -549,7 +516,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- data_connector: Union[_models.DataConnector, IO],
+ data_connector: Union[_models.DataConnector, IO[bytes]],
**kwargs: Any
) -> _models.DataConnector:
"""Creates or updates the data connector.
@@ -561,17 +528,14 @@ def create_or_update(
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :param data_connector: The data connector. Is either a model type or a IO type. Required.
- :type data_connector: ~azure.mgmt.securityinsight.models.DataConnector or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param data_connector: The data connector. Is either a DataConnector type or a IO[bytes] type.
+ Required.
+ :type data_connector: ~azure.mgmt.securityinsight.models.DataConnector or IO[bytes]
:return: DataConnector or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.DataConnector
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -582,21 +546,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.DataConnector] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(data_connector, (IO, bytes)):
+ if isinstance(data_connector, (IOBase, bytes)):
_content = data_connector
else:
_json = self._serialize.body(data_connector, "DataConnector")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
@@ -605,15 +567,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -622,21 +583,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("DataConnector", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("DataConnector", pipeline_response)
+ deserialized = self._deserialize("DataConnector", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, data_connector_id: str, **kwargs: Any
@@ -650,12 +603,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -666,26 +618,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -695,14 +644,10 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
- def connect( # pylint: disable=inconsistent-return-statements
+ def connect(
self,
resource_group_name: str,
workspace_name: str,
@@ -726,19 +671,18 @@ def connect( # pylint: disable=inconsistent-return-statements
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- def connect( # pylint: disable=inconsistent-return-statements
+ def connect(
self,
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- connect_body: IO,
+ connect_body: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -753,11 +697,10 @@ def connect( # pylint: disable=inconsistent-return-statements
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
:param connect_body: The data connector. Required.
- :type connect_body: IO
+ :type connect_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
@@ -769,7 +712,7 @@ def connect( # pylint: disable=inconsistent-return-statements
resource_group_name: str,
workspace_name: str,
data_connector_id: str,
- connect_body: Union[_models.DataConnectorConnectBody, IO],
+ connect_body: Union[_models.DataConnectorConnectBody, IO[bytes]],
**kwargs: Any
) -> None:
"""Connects a data connector.
@@ -781,17 +724,14 @@ def connect( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :param connect_body: The data connector. Is either a model type or a IO type. Required.
- :type connect_body: ~azure.mgmt.securityinsight.models.DataConnectorConnectBody or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param connect_body: The data connector. Is either a DataConnectorConnectBody type or a
+ IO[bytes] type. Required.
+ :type connect_body: ~azure.mgmt.securityinsight.models.DataConnectorConnectBody or IO[bytes]
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -802,21 +742,19 @@ def connect( # pylint: disable=inconsistent-return-statements
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[None] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(connect_body, (IO, bytes)):
+ if isinstance(connect_body, (IOBase, bytes)):
_content = connect_body
else:
_json = self._serialize.body(connect_body, "DataConnectorConnectBody")
- request = build_connect_request(
+ _request = build_connect_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
@@ -825,15 +763,14 @@ def connect( # pylint: disable=inconsistent-return-statements
content_type=content_type,
json=_json,
content=_content,
- template_url=self.connect.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -843,11 +780,7 @@ def connect( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- connect.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace
def disconnect( # pylint: disable=inconsistent-return-statements
@@ -862,12 +795,11 @@ def disconnect( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param data_connector_id: Connector ID. Required.
:type data_connector_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -878,26 +810,23 @@ def disconnect( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_disconnect_request(
+ _request = build_disconnect_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
data_connector_id=data_connector_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.disconnect.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -907,8 +836,4 @@ def disconnect( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- disconnect.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/disconnect"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_get_timeline_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_get_timeline_operations.py
index 0cdd1ffdd887..b5426769fded 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_get_timeline_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_get_timeline_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +43,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -57,7 +53,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -130,7 +126,6 @@ def list(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -142,7 +137,7 @@ def list(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -158,11 +153,10 @@ def list(
:type entity_id: str
:param parameters: The parameters required to execute an timeline operation on the given
entity. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -174,7 +168,7 @@ def list(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityTimelineParameters, IO],
+ parameters: Union[_models.EntityTimelineParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityTimelineResponse:
"""Timeline for an entity.
@@ -187,17 +181,13 @@ def list(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute an timeline operation on the given
- entity. Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityTimelineParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ entity. Is either a EntityTimelineParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityTimelineParameters or IO[bytes]
:return: EntityTimelineResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityTimelineResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -208,21 +198,19 @@ def list(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityTimelineResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityTimelineParameters")
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -231,15 +219,14 @@ def list(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -248,13 +235,9 @@ def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityTimelineResponse", pipeline_response)
+ deserialized = self._deserialize("EntityTimelineResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_operations.py
index 7a25ea360d46..79dd1eee53af 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -41,15 +39,57 @@
_SERIALIZER.client_side_validation = False
+def build_run_playbook_request(
+ resource_group_name: str, workspace_name: str, entity_identifier: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityIdentifier}/runPlaybook",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "entityIdentifier": _SERIALIZER.url("entity_identifier", entity_identifier, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
def build_list_request(
resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +98,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +112,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +129,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +138,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +153,7 @@ def build_get_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +170,7 @@ def build_expand_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -144,7 +180,7 @@ def build_expand_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -159,7 +195,7 @@ def build_expand_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -184,9 +220,7 @@ def build_queries_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -195,7 +229,7 @@ def build_queries_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -210,7 +244,7 @@ def build_queries_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -228,9 +262,7 @@ def build_get_insights_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -240,7 +272,7 @@ def build_get_insights_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -255,7 +287,7 @@ def build_get_insights_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -287,6 +319,148 @@ def __init__(self, *args, **kwargs):
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+ @overload
+ def run_playbook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[_models.EntityManualTriggerRequestBody] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Default
+ value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.EntityManualTriggerRequestBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def run_playbook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Default
+ value is None.
+ :type request_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def run_playbook( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ entity_identifier: str,
+ request_body: Optional[Union[_models.EntityManualTriggerRequestBody, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Triggers playbook on a specific entity.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param entity_identifier: Entity identifier. Required.
+ :type entity_identifier: str
+ :param request_body: Describes the request body for triggering a playbook on an entity. Is
+ either a EntityManualTriggerRequestBody type or a IO[bytes] type. Default value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.EntityManualTriggerRequestBody or
+ IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(request_body, (IOBase, bytes)):
+ _content = request_body
+ else:
+ if request_body is not None:
+ _json = self._serialize.body(request_body, "EntityManualTriggerRequestBody")
+ else:
+ _json = None
+
+ _request = build_run_playbook_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ entity_identifier=entity_identifier,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
@distributed_trace
def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> Iterable["_models.Entity"]:
"""Gets all entities.
@@ -296,7 +470,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Entity or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Entity]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -304,12 +477,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -320,17 +491,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -342,13 +511,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("EntityList", pipeline_response)
@@ -358,10 +526,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -373,10 +542,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities"
- }
-
@distributed_trace
def get(self, resource_group_name: str, workspace_name: str, entity_id: str, **kwargs: Any) -> _models.Entity:
"""Gets an entity.
@@ -388,12 +553,11 @@ def get(self, resource_group_name: str, workspace_name: str, entity_id: str, **k
:type workspace_name: str
:param entity_id: entity ID. Required.
:type entity_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Entity or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Entity
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -404,26 +568,23 @@ def get(self, resource_group_name: str, workspace_name: str, entity_id: str, **k
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Entity] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -432,16 +593,12 @@ def get(self, resource_group_name: str, workspace_name: str, entity_id: str, **k
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Entity", pipeline_response)
+ deserialized = self._deserialize("Entity", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}"
- }
+ return deserialized # type: ignore
@overload
def expand(
@@ -469,7 +626,6 @@ def expand(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -481,7 +637,7 @@ def expand(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -497,11 +653,10 @@ def expand(
:type entity_id: str
:param parameters: The parameters required to execute an expand operation on the given entity.
Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -513,7 +668,7 @@ def expand(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityExpandParameters, IO],
+ parameters: Union[_models.EntityExpandParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityExpandResponse:
"""Expands an entity.
@@ -526,17 +681,13 @@ def expand(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute an expand operation on the given entity.
- Is either a model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityExpandParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ Is either a EntityExpandParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityExpandParameters or IO[bytes]
:return: EntityExpandResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityExpandResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -547,21 +698,19 @@ def expand(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityExpandResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityExpandParameters")
- request = build_expand_request(
+ _request = build_expand_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -570,15 +719,14 @@ def expand(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.expand.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -587,16 +735,12 @@ def expand(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityExpandResponse", pipeline_response)
+ deserialized = self._deserialize("EntityExpandResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- expand.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand"
- }
+ return deserialized # type: ignore
@distributed_trace
def queries(
@@ -606,7 +750,7 @@ def queries(
entity_id: str,
kind: Union[str, _models.EntityItemQueryKind],
**kwargs: Any
- ) -> _models.GetQueriesResponse:
+ ) -> Iterable["_models.EntityQueryItem"]:
"""Get Insights and Activities for an entity.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -618,12 +762,17 @@ def queries(
:type entity_id: str
:param kind: The Kind parameter for queries. "Insight" Required.
:type kind: str or ~azure.mgmt.securityinsight.models.EntityItemQueryKind
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: GetQueriesResponse or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.GetQueriesResponse
+ :return: An iterator like instance of either EntityQueryItem or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.EntityQueryItem]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.GetQueriesResponse] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -631,48 +780,61 @@ def queries(
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.GetQueriesResponse] = kwargs.pop("cls", None)
+ def prepare_request(next_link=None):
+ if not next_link:
- request = build_queries_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- entity_id=entity_id,
- subscription_id=self._config.subscription_id,
- kind=kind,
- api_version=api_version,
- template_url=self.queries.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request = build_queries_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ entity_id=entity_id,
+ subscription_id=self._config.subscription_id,
+ kind=kind,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
- response = pipeline_response.http_response
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("GetQueriesResponse", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return None, iter(list_of_elem)
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
- deserialized = self._deserialize("GetQueriesResponse", pipeline_response)
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
- if cls:
- return cls(pipeline_response, deserialized, {})
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- return deserialized
+ return pipeline_response
- queries.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries"
- }
+ return ItemPaged(get_next, extract_data)
@overload
def get_insights(
@@ -699,7 +861,6 @@ def get_insights(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -711,7 +872,7 @@ def get_insights(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: IO,
+ parameters: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -726,11 +887,10 @@ def get_insights(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute insights on the given entity. Required.
- :type parameters: IO
+ :type parameters: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
@@ -742,7 +902,7 @@ def get_insights(
resource_group_name: str,
workspace_name: str,
entity_id: str,
- parameters: Union[_models.EntityGetInsightsParameters, IO],
+ parameters: Union[_models.EntityGetInsightsParameters, IO[bytes]],
**kwargs: Any
) -> _models.EntityGetInsightsResponse:
"""Execute Insights for an entity.
@@ -755,17 +915,13 @@ def get_insights(
:param entity_id: entity ID. Required.
:type entity_id: str
:param parameters: The parameters required to execute insights on the given entity. Is either a
- model type or a IO type. Required.
- :type parameters: ~azure.mgmt.securityinsight.models.EntityGetInsightsParameters or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ EntityGetInsightsParameters type or a IO[bytes] type. Required.
+ :type parameters: ~azure.mgmt.securityinsight.models.EntityGetInsightsParameters or IO[bytes]
:return: EntityGetInsightsResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityGetInsightsResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -776,21 +932,19 @@ def get_insights(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityGetInsightsResponse] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(parameters, (IO, bytes)):
+ if isinstance(parameters, (IOBase, bytes)):
_content = parameters
else:
_json = self._serialize.body(parameters, "EntityGetInsightsParameters")
- request = build_get_insights_request(
+ _request = build_get_insights_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -799,15 +953,14 @@ def get_insights(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.get_insights.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -816,13 +969,9 @@ def get_insights(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityGetInsightsResponse", pipeline_response)
+ deserialized = self._deserialize("EntityGetInsightsResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get_insights.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_relations_operations.py
index e160a77e83f7..a3103784b78a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entities_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -56,9 +53,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -67,7 +62,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -82,7 +77,7 @@ def build_list_request(
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -153,7 +148,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -161,12 +155,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -177,7 +169,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
@@ -187,12 +179,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -204,13 +194,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -220,10 +209,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -234,7 +224,3 @@ def get_next(next_link=None):
return pipeline_response
return ItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_queries_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_queries_operations.py
index 89f9d636c466..08024322f4c0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_queries_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_queries_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -46,15 +44,13 @@ def build_list_request(
workspace_name: str,
subscription_id: str,
*,
- kind: Optional[Union[str, _models.Enum13]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -63,7 +59,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -77,7 +73,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
if kind is not None:
@@ -96,9 +92,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -107,7 +101,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -122,7 +116,7 @@ def build_get_request(
"entityQueryId": _SERIALIZER.url("entity_query_id", entity_query_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -139,9 +133,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -151,7 +143,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -166,7 +158,7 @@ def build_create_or_update_request(
"entityQueryId": _SERIALIZER.url("entity_query_id", entity_query_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -185,9 +177,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -196,7 +186,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -211,7 +201,7 @@ def build_delete_request(
"entityQueryId": _SERIALIZER.url("entity_query_id", entity_query_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -246,7 +236,7 @@ def list(
self,
resource_group_name: str,
workspace_name: str,
- kind: Optional[Union[str, _models.Enum13]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> Iterable["_models.EntityQuery"]:
"""Gets all entity queries.
@@ -256,10 +246,10 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param kind: The entity query kind we want to fetch. Known values are: "Expansion" and
- "Activity". Default value is None.
- :type kind: str or ~azure.mgmt.securityinsight.models.Enum13
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param kind: The entity query kind we want to fetch. Known values are: "Activity", "Insight",
+ "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly". Default value is
+ None.
+ :type kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
:return: An iterator like instance of either EntityQuery or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.EntityQuery]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -267,12 +257,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -283,18 +271,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
kind=kind,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -306,13 +292,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("EntityQueryList", pipeline_response)
@@ -322,10 +307,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -337,10 +323,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, entity_query_id: str, **kwargs: Any
@@ -354,12 +336,11 @@ def get(
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -370,26 +351,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQuery] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -398,16 +376,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityQuery", pipeline_response)
+ deserialized = self._deserialize("EntityQuery", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -434,7 +408,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
@@ -446,7 +419,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
entity_query_id: str,
- entity_query: IO,
+ entity_query: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -461,11 +434,10 @@ def create_or_update(
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
:param entity_query: The entity query we want to create or update. Required.
- :type entity_query: IO
+ :type entity_query: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
@@ -477,7 +449,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
entity_query_id: str,
- entity_query: Union[_models.CustomEntityQuery, IO],
+ entity_query: Union[_models.CustomEntityQuery, IO[bytes]],
**kwargs: Any
) -> _models.EntityQuery:
"""Creates or updates the entity query.
@@ -489,18 +461,14 @@ def create_or_update(
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :param entity_query: The entity query we want to create or update. Is either a model type or a
- IO type. Required.
- :type entity_query: ~azure.mgmt.securityinsight.models.CustomEntityQuery or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param entity_query: The entity query we want to create or update. Is either a
+ CustomEntityQuery type or a IO[bytes] type. Required.
+ :type entity_query: ~azure.mgmt.securityinsight.models.CustomEntityQuery or IO[bytes]
:return: EntityQuery or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQuery
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -511,21 +479,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.EntityQuery] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(entity_query, (IO, bytes)):
+ if isinstance(entity_query, (IOBase, bytes)):
_content = entity_query
else:
_json = self._serialize.body(entity_query, "CustomEntityQuery")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
@@ -534,15 +500,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -551,21 +516,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("EntityQuery", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("EntityQuery", pipeline_response)
+ deserialized = self._deserialize("EntityQuery", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, entity_query_id: str, **kwargs: Any
@@ -579,12 +536,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param entity_query_id: entity query ID. Required.
:type entity_query_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -595,26 +551,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_id=entity_query_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -624,8 +577,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_query_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_query_templates_operations.py
index cd961f94a317..51c88a21b617 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_query_templates_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_query_templates_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -46,15 +43,13 @@ def build_list_request(
workspace_name: str,
subscription_id: str,
*,
- kind: Optional[Union[str, _models.Enum15]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -63,7 +58,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -77,7 +72,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
if kind is not None:
@@ -96,9 +91,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -107,7 +100,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates/{entityQueryTemplateId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -122,7 +115,7 @@ def build_get_request(
"entityQueryTemplateId": _SERIALIZER.url("entity_query_template_id", entity_query_template_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -157,7 +150,7 @@ def list(
self,
resource_group_name: str,
workspace_name: str,
- kind: Optional[Union[str, _models.Enum15]] = None,
+ kind: Optional[Union[str, _models.EntityQueryTemplateKind]] = None,
**kwargs: Any
) -> Iterable["_models.EntityQueryTemplate"]:
"""Gets all entity query templates.
@@ -167,9 +160,10 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param kind: The entity template query kind we want to fetch. "Activity" Default value is None.
- :type kind: str or ~azure.mgmt.securityinsight.models.Enum15
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param kind: The entity template query kind we want to fetch. Known values are: "Activity",
+ "Insight", "SecurityAlert", "Bookmark", "Expansion", "GuidedInsight", and "Anomaly". Default
+ value is None.
+ :type kind: str or ~azure.mgmt.securityinsight.models.EntityQueryTemplateKind
:return: An iterator like instance of either EntityQueryTemplate or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.EntityQueryTemplate]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -177,12 +171,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryTemplateList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -193,18 +185,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
kind=kind,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -216,13 +206,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("EntityQueryTemplateList", pipeline_response)
@@ -232,10 +221,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -247,10 +237,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, entity_query_template_id: str, **kwargs: Any
@@ -264,12 +250,11 @@ def get(
:type workspace_name: str
:param entity_query_template_id: entity query template ID. Required.
:type entity_query_template_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: EntityQueryTemplate or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.EntityQueryTemplate
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -280,26 +265,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.EntityQueryTemplate] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_query_template_id=entity_query_template_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -308,13 +290,9 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EntityQueryTemplate", pipeline_response)
+ deserialized = self._deserialize("EntityQueryTemplate", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates/{entityQueryTemplateId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_relations_operations.py
index 676e478cc9d2..6af9760c9736 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_entity_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -50,9 +47,7 @@ def build_get_relation_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -61,7 +56,7 @@ def build_get_relation_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -74,10 +69,12 @@ def build_get_relation_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"entityId": _SERIALIZER.url("entity_id", entity_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -122,12 +119,11 @@ def get_relation(
:type entity_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -138,27 +134,24 @@ def get_relation(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_relation_request(
+ _request = build_get_relation_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
entity_id=entity_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get_relation.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -167,13 +160,9 @@ def get_relation(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- get_relation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_file_imports_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_file_imports_operations.py
index 156bf96f7654..17689d15d3ef 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_file_imports_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_file_imports_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@@ -16,13 +16,14 @@
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
from azure.core.polling import LROPoller, NoPolling, PollingMethod
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
@@ -30,12 +31,11 @@
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -57,9 +57,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -68,7 +66,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -82,7 +80,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -107,9 +105,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -118,7 +114,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -133,7 +129,7 @@ def build_get_request(
"fileImportId": _SERIALIZER.url("file_import_id", file_import_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -150,9 +146,7 @@ def build_create_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -162,7 +156,7 @@ def build_create_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -177,7 +171,7 @@ def build_create_request(
"fileImportId": _SERIALIZER.url("file_import_id", file_import_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -196,9 +190,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -207,7 +199,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -222,7 +214,7 @@ def build_delete_request(
"fileImportId": _SERIALIZER.url("file_import_id", file_import_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -282,7 +274,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either FileImport or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.FileImport]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -290,12 +281,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImportList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -306,7 +295,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -315,12 +304,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -332,13 +319,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("FileImportList", pipeline_response)
@@ -348,25 +334,23 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, file_import_id: str, **kwargs: Any
@@ -380,12 +364,11 @@ def get(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -396,44 +379,38 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = self._deserialize("FileImport", pipeline_response)
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
@overload
def create(
@@ -460,7 +437,6 @@ def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
@@ -472,7 +448,7 @@ def create(
resource_group_name: str,
workspace_name: str,
file_import_id: str,
- file_import: IO,
+ file_import: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -487,11 +463,10 @@ def create(
:param file_import_id: File import ID. Required.
:type file_import_id: str
:param file_import: The file import. Required.
- :type file_import: IO
+ :type file_import: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
@@ -503,7 +478,7 @@ def create(
resource_group_name: str,
workspace_name: str,
file_import_id: str,
- file_import: Union[_models.FileImport, IO],
+ file_import: Union[_models.FileImport, IO[bytes]],
**kwargs: Any
) -> _models.FileImport:
"""Creates the file import.
@@ -515,17 +490,13 @@ def create(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :param file_import: The file import. Is either a model type or a IO type. Required.
- :type file_import: ~azure.mgmt.securityinsight.models.FileImport or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param file_import: The file import. Is either a FileImport type or a IO[bytes] type. Required.
+ :type file_import: ~azure.mgmt.securityinsight.models.FileImport or IO[bytes]
:return: FileImport or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.FileImport
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -536,21 +507,19 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(file_import, (IO, bytes)):
+ if isinstance(file_import, (IOBase, bytes)):
_content = file_import
else:
_json = self._serialize.body(file_import, "FileImport")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
@@ -559,38 +528,34 @@ def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [201]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = self._deserialize("FileImport", pipeline_response)
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
def _delete_initial(
self, resource_group_name: str, workspace_name: str, file_import_id: str, **kwargs: Any
- ) -> Optional[_models.FileImport]:
- error_map = {
+ ) -> Iterator[bytes]:
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -601,46 +566,47 @@ def _delete_initial(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[Optional[_models.FileImport]] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
file_import_id=file_import_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self._delete_initial.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
if response.status_code not in [202, 204]:
+ try:
+ response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
- deserialized = None
+ response_headers = {}
if response.status_code == 202:
- deserialized = self._deserialize("FileImport", pipeline_response)
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
- return deserialized
-
- _delete_initial.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return deserialized # type: ignore
@distributed_trace
def begin_delete(
@@ -655,14 +621,6 @@ def begin_delete(
:type workspace_name: str
:param file_import_id: File import ID. Required.
:type file_import_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
- operation to not poll, or pass in your own initialized polling object for a personal polling
- strategy.
- :paramtype polling: bool or ~azure.core.polling.PollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
:return: An instance of LROPoller that returns either FileImport or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.FileImport]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -670,9 +628,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.FileImport] = kwargs.pop("cls", None)
polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
@@ -688,12 +644,17 @@ def begin_delete(
params=_params,
**kwargs
)
+ raw_result.http_response.read() # type: ignore
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
- deserialized = self._deserialize("FileImport", pipeline_response)
+ response_headers = {}
+ response = pipeline_response.http_response
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = self._deserialize("FileImport", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
return deserialized
if polling is True:
@@ -705,14 +666,12 @@ def get_long_running_output(pipeline_response):
else:
polling_method = polling
if cont_token:
- return LROPoller.from_continuation_token(
+ return LROPoller[_models.FileImport].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
- return LROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore
-
- begin_delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports/{fileImportId}"
- }
+ return LROPoller[_models.FileImport](
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
+ )
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_operations.py
index 8d495ea329ef..b0a994492f40 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +42,7 @@ def build_single_recommendation_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -56,7 +51,7 @@ def build_single_recommendation_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -71,7 +66,7 @@ def build_single_recommendation_request(
"recommendationId": _SERIALIZER.url("recommendation_id", recommendation_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -114,12 +109,11 @@ def single_recommendation(
:type workspace_name: str
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Recommendation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -130,26 +124,23 @@ def single_recommendation(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
- request = build_single_recommendation_request(
+ _request = build_single_recommendation_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
recommendation_id=recommendation_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.single_recommendation.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -158,13 +149,9 @@ def single_recommendation(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Recommendation", pipeline_response)
+ deserialized = self._deserialize("Recommendation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- single_recommendation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_recommendations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_recommendations_operations.py
index a6e5f145a99f..bcf5375759fe 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_recommendations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_recommendations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7,7 +6,8 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, Callable, Dict, Optional, TypeVar
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
from azure.core.exceptions import (
ClientAuthenticationError,
@@ -17,21 +17,20 @@
ResourceNotModifiedError,
map_error,
)
+from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +44,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -56,7 +53,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -70,7 +67,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -101,7 +98,7 @@ def __init__(self, *args, **kwargs):
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
- def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _models.RecommendationList:
+ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> Iterable["_models.Recommendation"]:
"""Gets a list of all recommendations.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -109,12 +106,17 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: RecommendationList or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.RecommendationList
+ :return: An iterator like instance of either Recommendation or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Recommendation]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.RecommendationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -122,43 +124,56 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.RecommendationList] = kwargs.pop("cls", None)
-
- request = build_list_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- template_url=self.list.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("RecommendationList", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations"
- }
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("RecommendationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_triggered_analytics_rule_runs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_triggered_analytics_rule_runs_operations.py
new file mode 100644
index 000000000000..8532b34caaaa
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_get_triggered_analytics_rule_runs_operations.py
@@ -0,0 +1,183 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class GetTriggeredAnalyticsRuleRunsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`get_triggered_analytics_rule_runs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ ) -> Iterable["_models.TriggeredAnalyticsRuleRun"]:
+ """Gets the triggered analytics rule runs.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :return: An iterator like instance of either TriggeredAnalyticsRuleRun or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TriggeredAnalyticsRuleRuns] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("TriggeredAnalyticsRuleRuns", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_comments_operations.py
new file mode 100644
index 000000000000..924b6edf2ff9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_comments_operations.py
@@ -0,0 +1,643 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/comments",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/comments/{huntCommentId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntCommentId": _SERIALIZER.url("hunt_comment_id", hunt_comment_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/comments/{huntCommentId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntCommentId": _SERIALIZER.url("hunt_comment_id", hunt_comment_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/comments/{huntCommentId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntCommentId": _SERIALIZER.url("hunt_comment_id", hunt_comment_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class HuntCommentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`hunt_comments` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.HuntComment"]:
+ """Gets all hunt comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either HuntComment or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.HuntComment]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntCommentList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntCommentList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_comment_id: str, **kwargs: Any
+ ) -> _models.HuntComment:
+ """Gets a hunt comment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntComment] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntComment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_comment_id: str, **kwargs: Any
+ ) -> None:
+ """Delete a hunt comment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: _models.HuntComment,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Required.
+ :type hunt_comment: ~azure.mgmt.securityinsight.models.HuntComment
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Required.
+ :type hunt_comment: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_comment_id: str,
+ hunt_comment: Union[_models.HuntComment, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.HuntComment:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_comment_id: The hunt comment id (GUID). Required.
+ :type hunt_comment_id: str
+ :param hunt_comment: The hunt comment. Is either a HuntComment type or a IO[bytes] type.
+ Required.
+ :type hunt_comment: ~azure.mgmt.securityinsight.models.HuntComment or IO[bytes]
+ :return: HuntComment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntComment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.HuntComment] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt_comment, (IOBase, bytes)):
+ _content = hunt_comment
+ else:
+ _json = self._serialize.body(hunt_comment, "HuntComment")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_comment_id=hunt_comment_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntComment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_relations_operations.py
new file mode 100644
index 000000000000..553292190256
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunt_relations_operations.py
@@ -0,0 +1,643 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/relations",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/relations/{huntRelationId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntRelationId": _SERIALIZER.url("hunt_relation_id", hunt_relation_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/relations/{huntRelationId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntRelationId": _SERIALIZER.url("hunt_relation_id", hunt_relation_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}/relations/{huntRelationId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ "huntRelationId": _SERIALIZER.url("hunt_relation_id", hunt_relation_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class HuntRelationsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`hunt_relations` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.HuntRelation"]:
+ """Gets all hunt relations.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either HuntRelation or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.HuntRelation]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntRelationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntRelationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_relation_id: str, **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Gets a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntRelation] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntRelation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, hunt_relation_id: str, **kwargs: Any
+ ) -> None:
+ """Delete a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: _models.HuntRelation,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Required.
+ :type hunt_relation: ~azure.mgmt.securityinsight.models.HuntRelation
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Required.
+ :type hunt_relation: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt_relation_id: str,
+ hunt_relation: Union[_models.HuntRelation, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.HuntRelation:
+ """Creates or updates a hunt relation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt_relation_id: The hunt relation id (GUID). Required.
+ :type hunt_relation_id: str
+ :param hunt_relation: The hunt relation. Is either a HuntRelation type or a IO[bytes] type.
+ Required.
+ :type hunt_relation: ~azure.mgmt.securityinsight.models.HuntRelation or IO[bytes]
+ :return: HuntRelation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.HuntRelation
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.HuntRelation] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt_relation, (IOBase, bytes)):
+ _content = hunt_relation
+ else:
+ _json = self._serialize.body(hunt_relation, "HuntRelation")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ hunt_relation_id=hunt_relation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("HuntRelation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunts_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunts_operations.py
new file mode 100644
index 000000000000..c95b442dba77
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_hunts_operations.py
@@ -0,0 +1,600 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, hunt_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, hunt_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, hunt_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts/{huntId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "huntId": _SERIALIZER.url("hunt_id", hunt_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class HuntsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`hunts` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.Hunt"]:
+ """Gets all hunts, without relations and comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either Hunt or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Hunt]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.HuntList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("HuntList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(self, resource_group_name: str, workspace_name: str, hunt_id: str, **kwargs: Any) -> _models.Hunt:
+ """Gets a hunt, without relations and comments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Hunt] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Hunt", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, hunt_id: str, **kwargs: Any
+ ) -> None:
+ """Delete a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: _models.Hunt,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Required.
+ :type hunt: ~azure.mgmt.securityinsight.models.Hunt
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Required.
+ :type hunt: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ hunt_id: str,
+ hunt: Union[_models.Hunt, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.Hunt:
+ """Create or update a hunt.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param hunt_id: The hunt id (GUID). Required.
+ :type hunt_id: str
+ :param hunt: The hunt. Is either a Hunt type or a IO[bytes] type. Required.
+ :type hunt: ~azure.mgmt.securityinsight.models.Hunt or IO[bytes]
+ :return: Hunt or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Hunt
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Hunt] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(hunt, (IOBase, bytes)):
+ _content = hunt
+ else:
+ _json = self._serialize.body(hunt, "Hunt")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ hunt_id=hunt_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Hunt", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_comments_operations.py
index 8b63ffbf0831..be171d056eba 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_comments_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_comments_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -56,9 +54,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -67,7 +63,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -82,7 +78,7 @@ def build_list_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -112,9 +108,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -123,7 +117,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -139,7 +133,7 @@ def build_get_request(
"incidentCommentId": _SERIALIZER.url("incident_comment_id", incident_comment_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -161,9 +155,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -173,7 +165,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -189,7 +181,7 @@ def build_create_or_update_request(
"incidentCommentId": _SERIALIZER.url("incident_comment_id", incident_comment_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -213,9 +205,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -224,7 +214,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -240,7 +230,7 @@ def build_delete_request(
"incidentCommentId": _SERIALIZER.url("incident_comment_id", incident_comment_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -303,7 +293,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either IncidentComment or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.IncidentComment]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -311,12 +300,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentCommentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -327,7 +314,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -337,12 +324,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -354,13 +339,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentCommentList", pipeline_response)
@@ -370,10 +354,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -385,10 +370,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_comment_id: str, **kwargs: Any
@@ -404,12 +385,11 @@ def get(
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -420,27 +400,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentComment] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_comment_id=incident_comment_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -449,16 +426,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentComment", pipeline_response)
+ deserialized = self._deserialize("IncidentComment", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -488,7 +461,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
@@ -501,7 +473,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
incident_comment_id: str,
- incident_comment: IO,
+ incident_comment: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -518,11 +490,10 @@ def create_or_update(
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
:param incident_comment: The incident comment. Required.
- :type incident_comment: IO
+ :type incident_comment: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
@@ -535,7 +506,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
incident_comment_id: str,
- incident_comment: Union[_models.IncidentComment, IO],
+ incident_comment: Union[_models.IncidentComment, IO[bytes]],
**kwargs: Any
) -> _models.IncidentComment:
"""Creates or updates the incident comment.
@@ -549,17 +520,14 @@ def create_or_update(
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :param incident_comment: The incident comment. Is either a model type or a IO type. Required.
- :type incident_comment: ~azure.mgmt.securityinsight.models.IncidentComment or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident_comment: The incident comment. Is either a IncidentComment type or a IO[bytes]
+ type. Required.
+ :type incident_comment: ~azure.mgmt.securityinsight.models.IncidentComment or IO[bytes]
:return: IncidentComment or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentComment
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -570,21 +538,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.IncidentComment] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident_comment, (IO, bytes)):
+ if isinstance(incident_comment, (IOBase, bytes)):
_content = incident_comment
else:
_json = self._serialize.body(incident_comment, "IncidentComment")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -594,15 +560,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -611,21 +576,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("IncidentComment", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("IncidentComment", pipeline_response)
+ deserialized = self._deserialize("IncidentComment", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_comment_id: str, **kwargs: Any
@@ -641,12 +598,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param incident_comment_id: Incident comment ID. Required.
:type incident_comment_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -657,27 +613,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_comment_id=incident_comment_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -687,8 +640,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_relations_operations.py
index 4c9164691097..b196a18f9c74 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_relations_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_relations_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -56,9 +54,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -67,7 +63,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -82,7 +78,7 @@ def build_list_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -112,9 +108,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -123,7 +117,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -136,10 +130,12 @@ def build_get_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -161,9 +157,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -173,7 +167,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -186,10 +180,12 @@ def build_create_or_update_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -213,9 +209,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -224,7 +218,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -237,10 +231,12 @@ def build_delete_request(
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
- "relationName": _SERIALIZER.url("relation_name", relation_name, "str"),
+ "relationName": _SERIALIZER.url(
+ "relation_name", relation_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9-]{3,63}$"
+ ),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -303,7 +299,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Relation or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Relation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -311,12 +306,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.RelationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -327,7 +320,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -337,12 +330,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -354,13 +345,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RelationList", pipeline_response)
@@ -370,10 +360,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -385,10 +376,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, relation_name: str, **kwargs: Any
@@ -404,12 +391,11 @@ def get(
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -420,27 +406,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -449,16 +432,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -488,7 +467,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -501,7 +479,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
relation_name: str,
- relation: IO,
+ relation: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -518,11 +496,10 @@ def create_or_update(
:param relation_name: Relation Name. Required.
:type relation_name: str
:param relation: The relation model. Required.
- :type relation: IO
+ :type relation: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -535,7 +512,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
relation_name: str,
- relation: Union[_models.Relation, IO],
+ relation: Union[_models.Relation, IO[bytes]],
**kwargs: Any
) -> _models.Relation:
"""Creates or updates the incident relation.
@@ -549,17 +526,13 @@ def create_or_update(
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :param relation: The relation model. Is either a model type or a IO type. Required.
- :type relation: ~azure.mgmt.securityinsight.models.Relation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param relation: The relation model. Is either a Relation type or a IO[bytes] type. Required.
+ :type relation: ~azure.mgmt.securityinsight.models.Relation or IO[bytes]
:return: Relation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Relation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -570,21 +543,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Relation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(relation, (IO, bytes)):
+ if isinstance(relation, (IOBase, bytes)):
_content = relation
else:
_json = self._serialize.body(relation, "Relation")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -594,15 +565,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -611,21 +581,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Relation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Relation", pipeline_response)
+ deserialized = self._deserialize("Relation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, incident_id: str, relation_name: str, **kwargs: Any
@@ -641,12 +603,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param relation_name: Relation Name. Required.
:type relation_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -657,27 +618,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
relation_name=relation_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -687,8 +645,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_tasks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_tasks_operations.py
index 95ff858a910f..7ba1bd5d8cf1 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_tasks_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incident_tasks_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -73,7 +69,7 @@ def build_list_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -95,9 +91,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -106,7 +100,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -122,7 +116,7 @@ def build_get_request(
"incidentTaskId": _SERIALIZER.url("incident_task_id", incident_task_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -144,9 +138,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -156,7 +148,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -172,7 +164,7 @@ def build_create_or_update_request(
"incidentTaskId": _SERIALIZER.url("incident_task_id", incident_task_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -196,9 +188,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -207,7 +197,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -223,7 +213,7 @@ def build_delete_request(
"incidentTaskId": _SERIALIZER.url("incident_task_id", incident_task_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -266,7 +256,6 @@ def list(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either IncidentTask or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.IncidentTask]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -274,12 +263,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentTaskList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -290,18 +277,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -313,13 +298,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentTaskList", pipeline_response)
@@ -329,10 +313,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -344,10 +329,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_task_id: str, **kwargs: Any
@@ -363,12 +344,11 @@ def get(
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -379,27 +359,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentTask] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_task_id=incident_task_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -408,16 +385,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentTask", pipeline_response)
+ deserialized = self._deserialize("IncidentTask", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -447,7 +420,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
@@ -460,7 +432,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
incident_task_id: str,
- incident_task: IO,
+ incident_task: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -477,11 +449,10 @@ def create_or_update(
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
:param incident_task: The incident task. Required.
- :type incident_task: IO
+ :type incident_task: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
@@ -494,7 +465,7 @@ def create_or_update(
workspace_name: str,
incident_id: str,
incident_task_id: str,
- incident_task: Union[_models.IncidentTask, IO],
+ incident_task: Union[_models.IncidentTask, IO[bytes]],
**kwargs: Any
) -> _models.IncidentTask:
"""Creates or updates the incident task.
@@ -508,17 +479,14 @@ def create_or_update(
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :param incident_task: The incident task. Is either a model type or a IO type. Required.
- :type incident_task: ~azure.mgmt.securityinsight.models.IncidentTask or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident_task: The incident task. Is either a IncidentTask type or a IO[bytes] type.
+ Required.
+ :type incident_task: ~azure.mgmt.securityinsight.models.IncidentTask or IO[bytes]
:return: IncidentTask or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentTask
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -529,21 +497,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.IncidentTask] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident_task, (IO, bytes)):
+ if isinstance(incident_task, (IOBase, bytes)):
_content = incident_task
else:
_json = self._serialize.body(incident_task, "IncidentTask")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -553,15 +519,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -570,21 +535,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("IncidentTask", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("IncidentTask", pipeline_response)
+ deserialized = self._deserialize("IncidentTask", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, incident_id: str, incident_task_id: str, **kwargs: Any
@@ -600,12 +557,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type incident_id: str
:param incident_task_id: Incident task ID. Required.
:type incident_task_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -616,27 +572,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
incident_task_id=incident_task_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -646,8 +599,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incidents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incidents_operations.py
index fcbe3e15a34c..89f841aa84c5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incidents_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_incidents_operations.py
@@ -6,6 +6,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,24 +21,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
- from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
-else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -52,9 +47,7 @@ def build_run_playbook_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -64,7 +57,7 @@ def build_run_playbook_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -79,7 +72,7 @@ def build_run_playbook_request(
"incidentIdentifier": _SERIALIZER.url("incident_identifier", incident_identifier, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -106,9 +99,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -117,7 +108,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -131,7 +122,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -156,9 +147,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -167,7 +156,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -182,7 +171,7 @@ def build_get_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -199,9 +188,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -211,7 +198,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -226,7 +213,7 @@ def build_create_or_update_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -245,9 +232,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -256,7 +241,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -271,7 +256,7 @@ def build_delete_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -282,61 +267,13 @@ def build_delete_request(
return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
-def build_create_team_request(
- resource_group_name: str, workspace_name: str, incident_id: str, subscription_id: str, **kwargs: Any
-) -> HttpRequest:
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- accept = _headers.pop("Accept", "application/json")
-
- # Construct URL
- _url = kwargs.pop(
- "template_url",
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam",
- ) # pylint: disable=line-too-long
- path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
- "resourceGroupName": _SERIALIZER.url(
- "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
- ),
- "workspaceName": _SERIALIZER.url(
- "workspace_name",
- workspace_name,
- "str",
- max_length=90,
- min_length=1,
- pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
- ),
- "incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
- }
-
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
-
- # Construct parameters
- _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
-
- # Construct headers
- if content_type is not None:
- _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
- _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
-
- return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
-
-
def build_list_alerts_request(
resource_group_name: str, workspace_name: str, incident_id: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -345,7 +282,7 @@ def build_list_alerts_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -360,7 +297,7 @@ def build_list_alerts_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -377,9 +314,7 @@ def build_list_bookmarks_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -388,7 +323,7 @@ def build_list_bookmarks_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -403,7 +338,7 @@ def build_list_bookmarks_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -420,9 +355,7 @@ def build_list_entities_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -431,7 +364,7 @@ def build_list_entities_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -446,7 +379,7 @@ def build_list_entities_request(
"incidentId": _SERIALIZER.url("incident_id", incident_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -501,7 +434,6 @@ def run_playbook(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
@@ -513,7 +445,7 @@ def run_playbook(
resource_group_name: str,
workspace_name: str,
incident_identifier: str,
- request_body: Optional[IO] = None,
+ request_body: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -528,11 +460,10 @@ def run_playbook(
:param incident_identifier: Required.
:type incident_identifier: str
:param request_body: Default value is None.
- :type request_body: IO
+ :type request_body: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
@@ -544,7 +475,7 @@ def run_playbook(
resource_group_name: str,
workspace_name: str,
incident_identifier: str,
- request_body: Optional[Union[_models.ManualTriggerRequestBody, IO]] = None,
+ request_body: Optional[Union[_models.ManualTriggerRequestBody, IO[bytes]]] = None,
**kwargs: Any
) -> JSON:
"""Triggers playbook on a specific incident.
@@ -556,17 +487,14 @@ def run_playbook(
:type workspace_name: str
:param incident_identifier: Required.
:type incident_identifier: str
- :param request_body: Is either a model type or a IO type. Default value is None.
- :type request_body: ~azure.mgmt.securityinsight.models.ManualTriggerRequestBody or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param request_body: Is either a ManualTriggerRequestBody type or a IO[bytes] type. Default
+ value is None.
+ :type request_body: ~azure.mgmt.securityinsight.models.ManualTriggerRequestBody or IO[bytes]
:return: JSON or the result of cls(response)
:rtype: JSON
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -577,16 +505,14 @@ def run_playbook(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[JSON] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(request_body, (IO, bytes)):
+ if isinstance(request_body, (IOBase, bytes)):
_content = request_body
else:
if request_body is not None:
@@ -594,7 +520,7 @@ def run_playbook(
else:
_json = None
- request = build_run_playbook_request(
+ _request = build_run_playbook_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_identifier=incident_identifier,
@@ -603,15 +529,14 @@ def run_playbook(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.run_playbook.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -620,16 +545,12 @@ def run_playbook(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("object", pipeline_response)
+ deserialized = self._deserialize("object", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- run_playbook.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook"
- }
+ return deserialized # type: ignore
@distributed_trace
def list(
@@ -661,7 +582,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Incident or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Incident]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -669,12 +589,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -685,7 +603,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -694,12 +612,10 @@ def prepare_request(next_link=None):
top=top,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -711,13 +627,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("IncidentList", pipeline_response)
@@ -727,10 +642,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -742,10 +658,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents"
- }
-
@distributed_trace
def get(self, resource_group_name: str, workspace_name: str, incident_id: str, **kwargs: Any) -> _models.Incident:
"""Gets an incident.
@@ -757,12 +669,11 @@ def get(self, resource_group_name: str, workspace_name: str, incident_id: str, *
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -773,26 +684,23 @@ def get(self, resource_group_name: str, workspace_name: str, incident_id: str, *
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Incident] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -801,16 +709,12 @@ def get(self, resource_group_name: str, workspace_name: str, incident_id: str, *
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Incident", pipeline_response)
+ deserialized = self._deserialize("Incident", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -837,7 +741,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
@@ -849,7 +752,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
incident_id: str,
- incident: IO,
+ incident: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -864,11 +767,10 @@ def create_or_update(
:param incident_id: Incident ID. Required.
:type incident_id: str
:param incident: The incident. Required.
- :type incident: IO
+ :type incident: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
@@ -880,7 +782,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
incident_id: str,
- incident: Union[_models.Incident, IO],
+ incident: Union[_models.Incident, IO[bytes]],
**kwargs: Any
) -> _models.Incident:
"""Creates or updates the incident.
@@ -892,17 +794,13 @@ def create_or_update(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :param incident: The incident. Is either a model type or a IO type. Required.
- :type incident: ~azure.mgmt.securityinsight.models.Incident or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param incident: The incident. Is either a Incident type or a IO[bytes] type. Required.
+ :type incident: ~azure.mgmt.securityinsight.models.Incident or IO[bytes]
:return: Incident or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Incident
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -913,21 +811,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Incident] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(incident, (IO, bytes)):
+ if isinstance(incident, (IOBase, bytes)):
_content = incident
else:
_json = self._serialize.body(incident, "Incident")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
@@ -936,15 +832,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -953,21 +848,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("Incident", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("Incident", pipeline_response)
+ deserialized = self._deserialize("Incident", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, incident_id: str, **kwargs: Any
@@ -981,12 +868,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -997,26 +883,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1026,166 +909,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}"
- }
-
- @overload
- def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: _models.TeamInformation,
- *,
- content_type: str = "application/json",
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Required.
- :type team_properties: ~azure.mgmt.securityinsight.models.TeamInformation
- :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
- Default value is "application/json".
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
-
- @overload
- def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: IO,
- *,
- content_type: str = "application/json",
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Required.
- :type team_properties: IO
- :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
- Default value is "application/json".
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
-
- @distributed_trace
- def create_team(
- self,
- resource_group_name: str,
- workspace_name: str,
- incident_id: str,
- team_properties: Union[_models.TeamInformation, IO],
- **kwargs: Any
- ) -> _models.TeamInformation:
- """Creates a Microsoft team to investigate the incident by sharing information and insights
- between participants.
-
- :param resource_group_name: The name of the resource group. The name is case insensitive.
- Required.
- :type resource_group_name: str
- :param workspace_name: The name of the workspace. Required.
- :type workspace_name: str
- :param incident_id: Incident ID. Required.
- :type incident_id: str
- :param team_properties: Team properties. Is either a model type or a IO type. Required.
- :type team_properties: ~azure.mgmt.securityinsight.models.TeamInformation or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: TeamInformation or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.TeamInformation
- :raises ~azure.core.exceptions.HttpResponseError:
- """
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.TeamInformation] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(team_properties, (IO, bytes)):
- _content = team_properties
- else:
- _json = self._serialize.body(team_properties, "TeamInformation")
-
- request = build_create_team_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- incident_id=incident_id,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self.create_team.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("TeamInformation", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- create_team.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace
def list_alerts(
@@ -1200,12 +924,11 @@ def list_alerts(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentAlertList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentAlertList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -1216,26 +939,23 @@ def list_alerts(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentAlertList] = kwargs.pop("cls", None)
- request = build_list_alerts_request(
+ _request = build_list_alerts_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_alerts.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1244,16 +964,12 @@ def list_alerts(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentAlertList", pipeline_response)
+ deserialized = self._deserialize("IncidentAlertList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_alerts.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts"
- }
+ return deserialized # type: ignore
@distributed_trace
def list_bookmarks(
@@ -1268,12 +984,11 @@ def list_bookmarks(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentBookmarkList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentBookmarkList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -1284,26 +999,23 @@ def list_bookmarks(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentBookmarkList] = kwargs.pop("cls", None)
- request = build_list_bookmarks_request(
+ _request = build_list_bookmarks_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_bookmarks.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1312,16 +1024,12 @@ def list_bookmarks(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentBookmarkList", pipeline_response)
+ deserialized = self._deserialize("IncidentBookmarkList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_bookmarks.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks"
- }
+ return deserialized # type: ignore
@distributed_trace
def list_entities(
@@ -1336,12 +1044,11 @@ def list_entities(
:type workspace_name: str
:param incident_id: Incident ID. Required.
:type incident_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: IncidentEntitiesResponse or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.IncidentEntitiesResponse
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -1352,26 +1059,23 @@ def list_entities(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.IncidentEntitiesResponse] = kwargs.pop("cls", None)
- request = build_list_entities_request(
+ _request = build_list_entities_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
incident_id=incident_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list_entities.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1380,13 +1084,9 @@ def list_entities(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("IncidentEntitiesResponse", pipeline_response)
+ deserialized = self._deserialize("IncidentEntitiesResponse", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list_entities.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_metadata_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_metadata_operations.py
index 532bea1e8db1..6b3aefad2d89 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_metadata_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_metadata_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -55,9 +53,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -66,7 +62,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -80,7 +76,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -105,9 +101,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -116,7 +110,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -128,10 +122,10 @@ def build_get_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str"),
+ "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str", pattern=r"^\S+$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -148,9 +142,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -159,7 +151,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -171,10 +163,10 @@ def build_delete_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str"),
+ "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str", pattern=r"^\S+$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -191,9 +183,7 @@ def build_create_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -203,7 +193,7 @@ def build_create_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -215,10 +205,10 @@ def build_create_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str"),
+ "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str", pattern=r"^\S+$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -237,9 +227,7 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -249,7 +237,7 @@ def build_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -261,10 +249,10 @@ def build_update_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str"),
+ "metadataName": _SERIALIZER.url("metadata_name", metadata_name, "str", pattern=r"^\S+$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -324,7 +312,6 @@ def list(
:param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
next page of results if there are any left. Default value is None.
:type skip: int
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either MetadataModel or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.MetadataModel]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -332,12 +319,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MetadataList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -348,7 +333,7 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -357,12 +342,10 @@ def prepare_request(next_link=None):
top=top,
skip=skip,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -374,13 +357,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("MetadataList", pipeline_response)
@@ -390,10 +372,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -405,10 +388,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, metadata_name: str, **kwargs: Any
@@ -422,12 +401,11 @@ def get(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -438,26 +416,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -466,16 +441,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
@@ -490,12 +461,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -506,26 +476,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -535,11 +502,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def create(
@@ -566,7 +529,6 @@ def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -578,7 +540,7 @@ def create(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata: IO,
+ metadata: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -593,11 +555,10 @@ def create(
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
:param metadata: Metadata resource. Required.
- :type metadata: IO
+ :type metadata: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -609,7 +570,7 @@ def create(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata: Union[_models.MetadataModel, IO],
+ metadata: Union[_models.MetadataModel, IO[bytes]],
**kwargs: Any
) -> _models.MetadataModel:
"""Create a Metadata.
@@ -621,17 +582,14 @@ def create(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :param metadata: Metadata resource. Is either a model type or a IO type. Required.
- :type metadata: ~azure.mgmt.securityinsight.models.MetadataModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param metadata: Metadata resource. Is either a MetadataModel type or a IO[bytes] type.
+ Required.
+ :type metadata: ~azure.mgmt.securityinsight.models.MetadataModel or IO[bytes]
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -642,21 +600,19 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(metadata, (IO, bytes)):
+ if isinstance(metadata, (IOBase, bytes)):
_content = metadata
else:
_json = self._serialize.body(metadata, "MetadataModel")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
@@ -665,15 +621,14 @@ def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -682,21 +637,13 @@ def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("MetadataModel", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
-
@overload
def update(
self,
@@ -722,7 +669,6 @@ def update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -734,7 +680,7 @@ def update(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata_patch: IO,
+ metadata_patch: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -749,11 +695,10 @@ def update(
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
:param metadata_patch: Partial metadata request. Required.
- :type metadata_patch: IO
+ :type metadata_patch: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
@@ -765,7 +710,7 @@ def update(
resource_group_name: str,
workspace_name: str,
metadata_name: str,
- metadata_patch: Union[_models.MetadataPatch, IO],
+ metadata_patch: Union[_models.MetadataPatch, IO[bytes]],
**kwargs: Any
) -> _models.MetadataModel:
"""Update an existing Metadata.
@@ -777,17 +722,14 @@ def update(
:type workspace_name: str
:param metadata_name: The Metadata name. Required.
:type metadata_name: str
- :param metadata_patch: Partial metadata request. Is either a model type or a IO type. Required.
- :type metadata_patch: ~azure.mgmt.securityinsight.models.MetadataPatch or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param metadata_patch: Partial metadata request. Is either a MetadataPatch type or a IO[bytes]
+ type. Required.
+ :type metadata_patch: ~azure.mgmt.securityinsight.models.MetadataPatch or IO[bytes]
:return: MetadataModel or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.MetadataModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -798,21 +740,19 @@ def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.MetadataModel] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(metadata_patch, (IO, bytes)):
+ if isinstance(metadata_patch, (IOBase, bytes)):
_content = metadata_patch
else:
_json = self._serialize.body(metadata_patch, "MetadataPatch")
- request = build_update_request(
+ _request = build_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
metadata_name=metadata_name,
@@ -821,15 +761,14 @@ def update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -838,13 +777,9 @@ def update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("MetadataModel", pipeline_response)
+ deserialized = self._deserialize("MetadataModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_office_consents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_office_consents_operations.py
index 6c185d8b07ac..0bb2e56edba4 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_office_consents_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_office_consents_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +44,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +53,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +67,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +84,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +93,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +108,7 @@ def build_get_request(
"consentId": _SERIALIZER.url("consent_id", consent_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +125,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -143,7 +134,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -158,7 +149,7 @@ def build_delete_request(
"consentId": _SERIALIZER.url("consent_id", consent_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -197,7 +188,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either OfficeConsent or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.OfficeConsent]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -205,12 +195,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OfficeConsentList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -221,17 +209,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -243,13 +229,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("OfficeConsentList", pipeline_response)
@@ -259,10 +244,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -274,10 +260,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, consent_id: str, **kwargs: Any
@@ -291,12 +273,11 @@ def get(
:type workspace_name: str
:param consent_id: consent ID. Required.
:type consent_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: OfficeConsent or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.OfficeConsent
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -307,26 +288,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OfficeConsent] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
consent_id=consent_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -335,16 +313,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("OfficeConsent", pipeline_response)
+ deserialized = self._deserialize("OfficeConsent", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}"
- }
+ return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
@@ -359,12 +333,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param consent_id: consent ID. Required.
:type consent_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -375,26 +348,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
consent_id=consent_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -404,8 +374,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_operations.py
index e74ff2e56de3..390b1561f6be 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +42,7 @@ def build_list_request(**kwargs: Any) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -85,7 +80,6 @@ def __init__(self, *args, **kwargs):
def list(self, **kwargs: Any) -> Iterable["_models.Operation"]:
"""Lists all operations available Azure Security Insights Resource Provider.
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Operation or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Operation]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -93,12 +87,10 @@ def list(self, **kwargs: Any) -> Iterable["_models.Operation"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.OperationsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -109,14 +101,12 @@ def list(self, **kwargs: Any) -> Iterable["_models.Operation"]:
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -128,13 +118,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("OperationsList", pipeline_response)
@@ -144,10 +133,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -158,5 +148,3 @@ def get_next(next_link=None):
return pipeline_response
return ItemPaged(get_next, extract_data)
-
- list.metadata = {"url": "/providers/Microsoft.SecurityInsights/operations"}
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_ip_geodata_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_package_operations.py
similarity index 63%
rename from sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_ip_geodata_operations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_package_operations.py
index 89c8e309e108..3609f5ae3c20 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_ip_geodata_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_package_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -39,32 +36,40 @@
_SERIALIZER.client_side_validation = False
-def build_get_request(resource_group_name: str, subscription_id: str, *, ip_address: str, **kwargs: Any) -> HttpRequest:
+def build_get_request(
+ resource_group_name: str, workspace_name: str, package_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/ip/geodata/",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductPackages/{packageId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "packageId": _SERIALIZER.url("package_id", package_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
- _params["ipAddress"] = _SERIALIZER.query("ip_address", ip_address, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -72,14 +77,14 @@ def build_get_request(resource_group_name: str, subscription_id: str, *, ip_addr
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
-class IPGeodataOperations:
+class ProductPackageOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.securityinsight.SecurityInsights`'s
- :attr:`ip_geodata` attribute.
+ :attr:`product_package` attribute.
"""
models = _models
@@ -92,20 +97,23 @@ def __init__(self, *args, **kwargs):
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
- def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) -> _models.EnrichmentIpGeodata:
- """Get geodata for a single IP address.
+ def get(
+ self, resource_group_name: str, workspace_name: str, package_id: str, **kwargs: Any
+ ) -> _models.ProductPackageModel:
+ """Gets a package by its identifier from the catalog.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
- :param ip_address: IP address (v4 or v6) to be enriched. Required.
- :type ip_address: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: EnrichmentIpGeodata or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param package_id: package Id. Required.
+ :type package_id: str
+ :return: ProductPackageModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ProductPackageModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -116,25 +124,23 @@ def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) -> _mode
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.EnrichmentIpGeodata] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductPackageModel] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ package_id=package_id,
subscription_id=self._config.subscription_id,
- ip_address=ip_address,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -143,13 +149,9 @@ def get(self, resource_group_name: str, ip_address: str, **kwargs: Any) -> _mode
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EnrichmentIpGeodata", pipeline_response)
+ deserialized = self._deserialize("ProductPackageModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/ip/geodata/"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_packages_operations.py
new file mode 100644
index 000000000000..5b1ac1bc7587
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_packages_operations.py
@@ -0,0 +1,232 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ search: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductPackages",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+ if search is not None:
+ _params["$search"] = _SERIALIZER.query("search", search, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ProductPackagesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`product_packages` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ search: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.ProductPackageModel"]:
+ """Gets all packages from the catalog.
+ Expandable properties:
+
+
+ * properties/installed
+ * properties/packagedContent.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :return: An iterator like instance of either ProductPackageModel or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.ProductPackageModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductPackageList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ search=search,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ProductPackageList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_settings_operations.py
index 86def718fd40..c5027948f7af 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_settings_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_settings_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,10 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
from azure.core.exceptions import (
ClientAuthenticationError,
@@ -17,21 +18,20 @@
ResourceNotModifiedError,
map_error,
)
+from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -56,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -70,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -87,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -98,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -110,10 +106,10 @@ def build_get_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "settingsName": _SERIALIZER.url("settings_name", settings_name, "str"),
+ "settingsName": _SERIALIZER.url("settings_name", settings_name, "str", pattern=r"^[a-zA-Z][a-zA-Z0-9]*$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -130,9 +126,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -141,7 +135,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -153,10 +147,10 @@ def build_delete_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "settingsName": _SERIALIZER.url("settings_name", settings_name, "str"),
+ "settingsName": _SERIALIZER.url("settings_name", settings_name, "str", pattern=r"^[a-zA-Z][a-zA-Z0-9]*$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -173,9 +167,7 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -185,7 +177,7 @@ def build_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -197,10 +189,10 @@ def build_update_request(
min_length=1,
pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
),
- "settingsName": _SERIALIZER.url("settings_name", settings_name, "str"),
+ "settingsName": _SERIALIZER.url("settings_name", settings_name, "str", pattern=r"^[a-zA-Z][a-zA-Z0-9]*$"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -233,7 +225,7 @@ def __init__(self, *args, **kwargs):
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
- def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _models.SettingList:
+ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> Iterable["_models.Settings"]:
"""List of all the settings.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -241,12 +233,17 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SettingList or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SettingList
+ :return: An iterator like instance of either Settings or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Settings]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SettingList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -254,46 +251,59 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.SettingList] = kwargs.pop("cls", None)
-
- request = build_list_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- template_url=self.list.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("SettingList", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings"
- }
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("SettingList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
@distributed_trace
def get(self, resource_group_name: str, workspace_name: str, settings_name: str, **kwargs: Any) -> _models.Settings:
@@ -307,12 +317,11 @@ def get(self, resource_group_name: str, workspace_name: str, settings_name: str,
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -323,26 +332,23 @@ def get(self, resource_group_name: str, workspace_name: str, settings_name: str,
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Settings] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -351,16 +357,12 @@ def get(self, resource_group_name: str, workspace_name: str, settings_name: str,
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Settings", pipeline_response)
+ deserialized = self._deserialize("Settings", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
@@ -376,12 +378,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -392,26 +393,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -421,11 +419,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def update(
@@ -453,7 +447,6 @@ def update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
@@ -465,7 +458,7 @@ def update(
resource_group_name: str,
workspace_name: str,
settings_name: str,
- settings: IO,
+ settings: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -481,11 +474,10 @@ def update(
Required.
:type settings_name: str
:param settings: The setting. Required.
- :type settings: IO
+ :type settings: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
@@ -497,7 +489,7 @@ def update(
resource_group_name: str,
workspace_name: str,
settings_name: str,
- settings: Union[_models.Settings, IO],
+ settings: Union[_models.Settings, IO[bytes]],
**kwargs: Any
) -> _models.Settings:
"""Updates setting.
@@ -510,17 +502,13 @@ def update(
:param settings_name: The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba.
Required.
:type settings_name: str
- :param settings: The setting. Is either a model type or a IO type. Required.
- :type settings: ~azure.mgmt.securityinsight.models.Settings or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param settings: The setting. Is either a Settings type or a IO[bytes] type. Required.
+ :type settings: ~azure.mgmt.securityinsight.models.Settings or IO[bytes]
:return: Settings or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Settings
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -531,21 +519,19 @@ def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Settings] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(settings, (IO, bytes)):
+ if isinstance(settings, (IOBase, bytes)):
_content = settings
else:
_json = self._serialize.body(settings, "Settings")
- request = build_update_request(
+ _request = build_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_name=settings_name,
@@ -554,30 +540,25 @@ def update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Settings", pipeline_response)
+ deserialized = self._deserialize("Settings", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_domain_whois_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_template_operations.py
similarity index 63%
rename from sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_domain_whois_operations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_template_operations.py
index ce39a050336d..3144837a13de 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_domain_whois_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_template_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -39,32 +36,40 @@
_SERIALIZER.client_side_validation = False
-def build_get_request(resource_group_name: str, subscription_id: str, *, domain: str, **kwargs: Any) -> HttpRequest:
+def build_get_request(
+ resource_group_name: str, workspace_name: str, template_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentproducttemplates/{templateId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "templateId": _SERIALIZER.url("template_id", template_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
- _params["domain"] = _SERIALIZER.query("domain", domain, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -72,14 +77,14 @@ def build_get_request(resource_group_name: str, subscription_id: str, *, domain:
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
-class DomainWhoisOperations:
+class ProductTemplateOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.securityinsight.SecurityInsights`'s
- :attr:`domain_whois` attribute.
+ :attr:`product_template` attribute.
"""
models = _models
@@ -92,20 +97,23 @@ def __init__(self, *args, **kwargs):
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
- def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _models.EnrichmentDomainWhois:
- """Get whois information for a single domain name.
+ def get(
+ self, resource_group_name: str, workspace_name: str, template_id: str, **kwargs: Any
+ ) -> _models.ProductTemplateModel:
+ """Gets a template by its identifier.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
- :param domain: Domain name to be enriched. Required.
- :type domain: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: EnrichmentDomainWhois or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param template_id: template Id. Required.
+ :type template_id: str
+ :return: ProductTemplateModel or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ProductTemplateModel
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -116,25 +124,23 @@ def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _models.E
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[_models.EnrichmentDomainWhois] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductTemplateModel] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ template_id=template_id,
subscription_id=self._config.subscription_id,
- domain=domain,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -143,13 +149,9 @@ def get(self, resource_group_name: str, domain: str, **kwargs: Any) -> _models.E
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("EnrichmentDomainWhois", pipeline_response)
+ deserialized = self._deserialize("ProductTemplateModel", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
-
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_templates_operations.py
new file mode 100644
index 000000000000..b9d3eab56855
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_product_templates_operations.py
@@ -0,0 +1,244 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductTemplates",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if search is not None:
+ _params["$search"] = _SERIALIZER.query("search", search, "str")
+ if count is not None:
+ _params["$count"] = _SERIALIZER.query("count", count, "bool")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ProductTemplatesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`product_templates` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ filter: Optional[str] = None,
+ orderby: Optional[str] = None,
+ search: Optional[str] = None,
+ count: Optional[bool] = None,
+ top: Optional[int] = None,
+ skip: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.ProductTemplateModel"]:
+ """Gets all templates in the catalog.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param search: Searches for a substring in the response. Optional. Default value is None.
+ :type search: str
+ :param count: Instructs the server to return only object count without actual body. Optional.
+ Default value is None.
+ :type count: bool
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip: Used to skip n elements in the OData query (offset). Returns a nextLink to the
+ next page of results if there are any left. Default value is None.
+ :type skip: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either ProductTemplateModel or the result of
+ cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.ProductTemplateModel]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ProductTemplateList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ orderby=orderby,
+ search=search,
+ count=count,
+ top=top,
+ skip=skip,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ProductTemplateList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_reevaluate_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_reevaluate_operations.py
new file mode 100644
index 000000000000..9d1710380e4e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_reevaluate_operations.py
@@ -0,0 +1,157 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_recommendation_request(
+ resource_group_name: str, workspace_name: str, recommendation_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}/triggerEvaluation",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "recommendationId": _SERIALIZER.url("recommendation_id", recommendation_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ReevaluateOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`reevaluate` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def recommendation(
+ self, resource_group_name: str, workspace_name: str, recommendation_id: str, **kwargs: Any
+ ) -> _models.ReevaluateResponse:
+ """Reevaluate a recommendation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param recommendation_id: Recommendation Id. Required.
+ :type recommendation_id: str
+ :return: ReevaluateResponse or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ReevaluateResponse
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ReevaluateResponse] = kwargs.pop("cls", None)
+
+ _request = build_recommendation_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ recommendation_id=recommendation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("ReevaluateResponse", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_insights_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_insights_operations.py
new file mode 100644
index 000000000000..10c968829c48
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_insights_operations.py
@@ -0,0 +1,417 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import SecurityInsightsMixinABC
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_geodata_by_ip_request(
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/enrichment/{enrichmentType}/listGeodataByIp",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "enrichmentType": _SERIALIZER.url("enrichment_type", enrichment_type, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_whois_by_domain_request(
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/enrichment/{enrichmentType}/listWhoisByDomain",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "enrichmentType": _SERIALIZER.url("enrichment_type", enrichment_type, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class SecurityInsightsOperationsMixin(SecurityInsightsMixinABC):
+
+ @overload
+ def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: _models.EnrichmentIpAddressBody,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Required.
+ :type ip_address_body: ~azure.mgmt.securityinsight.models.EnrichmentIpAddressBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Required.
+ :type ip_address_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def list_geodata_by_ip(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ ip_address_body: Union[_models.EnrichmentIpAddressBody, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.EnrichmentIpGeodata:
+ """Get geodata for a single IP address.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param ip_address_body: IP address (v4 or v6) to be enriched. Is either a
+ EnrichmentIpAddressBody type or a IO[bytes] type. Required.
+ :type ip_address_body: ~azure.mgmt.securityinsight.models.EnrichmentIpAddressBody or IO[bytes]
+ :return: EnrichmentIpGeodata or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentIpGeodata
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnrichmentIpGeodata] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(ip_address_body, (IOBase, bytes)):
+ _content = ip_address_body
+ else:
+ _json = self._serialize.body(ip_address_body, "EnrichmentIpAddressBody")
+
+ _request = build_list_geodata_by_ip_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ enrichment_type=enrichment_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("EnrichmentIpGeodata", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: _models.EnrichmentDomainBody,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Required.
+ :type domain_body: ~azure.mgmt.securityinsight.models.EnrichmentDomainBody
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Required.
+ :type domain_body: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def list_whois_by_domain(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ enrichment_type: Union[str, _models.EnrichmentType],
+ domain_body: Union[_models.EnrichmentDomainBody, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.EnrichmentDomainWhois:
+ """Get whois information for a single domain name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param enrichment_type: Enrichment type. "main" Required.
+ :type enrichment_type: str or ~azure.mgmt.securityinsight.models.EnrichmentType
+ :param domain_body: Domain name to be enriched. Only domain name is accepted. Is either a
+ EnrichmentDomainBody type or a IO[bytes] type. Required.
+ :type domain_body: ~azure.mgmt.securityinsight.models.EnrichmentDomainBody or IO[bytes]
+ :return: EnrichmentDomainWhois or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.EnrichmentDomainWhois
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnrichmentDomainWhois] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(domain_body, (IOBase, bytes)):
+ _content = domain_body
+ else:
+ _json = self._serialize.body(domain_body, "EnrichmentDomainBody")
+
+ _request = build_list_whois_by_domain_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ enrichment_type=enrichment_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("EnrichmentDomainWhois", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_ml_analytics_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_ml_analytics_settings_operations.py
index 67f7732a0682..cab1a97fe5fb 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_ml_analytics_settings_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_security_ml_analytics_settings_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +109,7 @@ def build_get_request(
"settingsResourceName": _SERIALIZER.url("settings_resource_name", settings_resource_name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -132,9 +126,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -144,7 +136,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -159,7 +151,7 @@ def build_create_or_update_request(
"settingsResourceName": _SERIALIZER.url("settings_resource_name", settings_resource_name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -178,9 +170,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -189,7 +179,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -204,7 +194,7 @@ def build_delete_request(
"settingsResourceName": _SERIALIZER.url("settings_resource_name", settings_resource_name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -245,7 +235,6 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either SecurityMLAnalyticsSetting or the result of
cls(response)
:rtype:
@@ -255,12 +244,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SecurityMLAnalyticsSettingsList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -271,17 +258,15 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -293,13 +278,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("SecurityMLAnalyticsSettingsList", pipeline_response)
@@ -309,10 +293,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -324,10 +309,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, settings_resource_name: str, **kwargs: Any
@@ -341,12 +322,11 @@ def get(
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -357,26 +337,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SecurityMLAnalyticsSetting] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -385,16 +362,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
+ deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
+ return deserialized # type: ignore
@overload
def create_or_update(
@@ -422,7 +395,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
@@ -434,7 +406,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
settings_resource_name: str,
- security_ml_analytics_setting: IO,
+ security_ml_analytics_setting: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -449,11 +421,10 @@ def create_or_update(
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
:param security_ml_analytics_setting: The security ML Analytics setting. Required.
- :type security_ml_analytics_setting: IO
+ :type security_ml_analytics_setting: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
@@ -465,7 +436,7 @@ def create_or_update(
resource_group_name: str,
workspace_name: str,
settings_resource_name: str,
- security_ml_analytics_setting: Union[_models.SecurityMLAnalyticsSetting, IO],
+ security_ml_analytics_setting: Union[_models.SecurityMLAnalyticsSetting, IO[bytes]],
**kwargs: Any
) -> _models.SecurityMLAnalyticsSetting:
"""Creates or updates the Security ML Analytics Settings.
@@ -477,19 +448,15 @@ def create_or_update(
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :param security_ml_analytics_setting: The security ML Analytics setting. Is either a model type
- or a IO type. Required.
+ :param security_ml_analytics_setting: The security ML Analytics setting. Is either a
+ SecurityMLAnalyticsSetting type or a IO[bytes] type. Required.
:type security_ml_analytics_setting:
- ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting or IO[bytes]
:return: SecurityMLAnalyticsSetting or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SecurityMLAnalyticsSetting
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -500,21 +467,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.SecurityMLAnalyticsSetting] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(security_ml_analytics_setting, (IO, bytes)):
+ if isinstance(security_ml_analytics_setting, (IOBase, bytes)):
_content = security_ml_analytics_setting
else:
_json = self._serialize.body(security_ml_analytics_setting, "SecurityMLAnalyticsSetting")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
@@ -523,15 +488,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -540,21 +504,13 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response)
+ deserialized = self._deserialize("SecurityMLAnalyticsSetting", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, settings_resource_name: str, **kwargs: Any
@@ -568,12 +524,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param settings_resource_name: Security ML Analytics Settings resource name. Required.
:type settings_resource_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -584,26 +539,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
settings_resource_name=settings_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -613,8 +565,4 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_sentinel_onboarding_states_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_sentinel_onboarding_states_operations.py
index dede32ea1345..685b17ac6601 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_sentinel_onboarding_states_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_sentinel_onboarding_states_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
@@ -18,20 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -49,9 +47,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -60,7 +56,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -77,7 +73,7 @@ def build_get_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -98,9 +94,7 @@ def build_create_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -110,7 +104,7 @@ def build_create_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -127,7 +121,7 @@ def build_create_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -150,9 +144,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -161,7 +153,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -178,7 +170,7 @@ def build_delete_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -195,9 +187,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -206,7 +196,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -220,7 +210,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -264,12 +254,11 @@ def get(
:param sentinel_onboarding_state_name: The Sentinel onboarding state name. Supports - default.
Required.
:type sentinel_onboarding_state_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -280,26 +269,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SentinelOnboardingState] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -308,16 +294,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingState", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
+ return deserialized # type: ignore
@overload
def create(
@@ -347,7 +329,6 @@ def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -359,7 +340,7 @@ def create(
resource_group_name: str,
workspace_name: str,
sentinel_onboarding_state_name: str,
- sentinel_onboarding_state_parameter: Optional[IO] = None,
+ sentinel_onboarding_state_parameter: Optional[IO[bytes]] = None,
*,
content_type: str = "application/json",
**kwargs: Any
@@ -376,11 +357,10 @@ def create(
:type sentinel_onboarding_state_name: str
:param sentinel_onboarding_state_parameter: The Sentinel onboarding state parameter. Default
value is None.
- :type sentinel_onboarding_state_parameter: IO
+ :type sentinel_onboarding_state_parameter: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
@@ -392,7 +372,7 @@ def create(
resource_group_name: str,
workspace_name: str,
sentinel_onboarding_state_name: str,
- sentinel_onboarding_state_parameter: Optional[Union[_models.SentinelOnboardingState, IO]] = None,
+ sentinel_onboarding_state_parameter: Optional[Union[_models.SentinelOnboardingState, IO[bytes]]] = None,
**kwargs: Any
) -> _models.SentinelOnboardingState:
"""Create Sentinel onboarding state.
@@ -406,18 +386,14 @@ def create(
Required.
:type sentinel_onboarding_state_name: str
:param sentinel_onboarding_state_parameter: The Sentinel onboarding state parameter. Is either
- a model type or a IO type. Default value is None.
+ a SentinelOnboardingState type or a IO[bytes] type. Default value is None.
:type sentinel_onboarding_state_parameter:
- ~azure.mgmt.securityinsight.models.SentinelOnboardingState or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.SentinelOnboardingState or IO[bytes]
:return: SentinelOnboardingState or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingState
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -428,16 +404,14 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.SentinelOnboardingState] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(sentinel_onboarding_state_parameter, (IO, bytes)):
+ if isinstance(sentinel_onboarding_state_parameter, (IOBase, bytes)):
_content = sentinel_onboarding_state_parameter
else:
if sentinel_onboarding_state_parameter is not None:
@@ -445,7 +419,7 @@ def create(
else:
_json = None
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
@@ -454,15 +428,14 @@ def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -471,21 +444,13 @@ def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SentinelOnboardingState", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingState", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, sentinel_onboarding_state_name: str, **kwargs: Any
@@ -500,12 +465,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:param sentinel_onboarding_state_name: The Sentinel onboarding state name. Supports - default.
Required.
:type sentinel_onboarding_state_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -516,26 +480,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
sentinel_onboarding_state_name=sentinel_onboarding_state_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -545,11 +506,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@distributed_trace
def list(
@@ -562,12 +519,11 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SentinelOnboardingStatesList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SentinelOnboardingStatesList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -578,25 +534,22 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SentinelOnboardingStatesList] = kwargs.pop("cls", None)
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -605,13 +558,9 @@ def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SentinelOnboardingStatesList", pipeline_response)
+ deserialized = self._deserialize("SentinelOnboardingStatesList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_control_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_control_operations.py
index 4a4957b10d8d..0baa7189589a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_control_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_control_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
from azure.core.exceptions import (
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -42,19 +40,12 @@
def build_list_repositories_request(
- resource_group_name: str,
- workspace_name: str,
- subscription_id: str,
- *,
- json: Union[str, _models.RepoType],
- **kwargs: Any
+ resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -64,7 +55,7 @@ def build_list_repositories_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -78,7 +69,7 @@ def build_list_repositories_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -88,7 +79,7 @@ def build_list_repositories_request(
_headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
- return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, json=json, **kwargs)
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
class SourceControlOperations:
@@ -110,9 +101,67 @@ def __init__(self, *args, **kwargs):
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+ @overload
+ def list_repositories(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: _models.RepositoryAccessProperties,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> Iterable["_models.Repo"]:
+ """Gets a list of repositories metadata.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either Repo or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Repo]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def list_repositories(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> Iterable["_models.Repo"]:
+ """Gets a list of repositories metadata.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either Repo or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Repo]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
@distributed_trace
def list_repositories(
- self, resource_group_name: str, workspace_name: str, repo_type: Union[str, _models.RepoType], **kwargs: Any
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ repository_access: Union[_models.RepositoryAccessProperties, IO[bytes]],
+ **kwargs: Any
) -> Iterable["_models.Repo"]:
"""Gets a list of repositories metadata.
@@ -121,9 +170,10 @@ def list_repositories(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :param repo_type: The repo type. Known values are: "Github" and "DevOps". Required.
- :type repo_type: str or ~azure.mgmt.securityinsight.models.RepoType
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param repository_access: The repository access credentials. Is either a
+ RepositoryAccessProperties type or a IO[bytes] type. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties or
+ IO[bytes]
:return: An iterator like instance of either Repo or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Repo]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -131,37 +181,40 @@ def list_repositories(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: str = kwargs.pop("content_type", _headers.pop("Content-Type", "application/json"))
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.RepoList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(repository_access, (IOBase, bytes)):
+ _content = repository_access
+ else:
+ _json = self._serialize.body(repository_access, "RepositoryAccessProperties")
def prepare_request(next_link=None):
if not next_link:
- _json = self._serialize.body(repo_type, "str")
- request = build_list_repositories_request(
+ _request = build_list_repositories_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
- template_url=self.list_repositories.metadata["url"],
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -173,13 +226,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("RepoList", pipeline_response)
@@ -189,10 +241,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -203,7 +256,3 @@ def get_next(next_link=None):
return pipeline_response
return ItemPaged(get_next, extract_data)
-
- list_repositories.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_controls_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_controls_operations.py
index e4f8c1291dc3..1526129f678e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_controls_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_source_controls_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +45,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +54,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -72,7 +68,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -89,9 +85,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -100,7 +94,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -115,7 +109,7 @@ def build_get_request(
"sourceControlId": _SERIALIZER.url("source_control_id", source_control_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -126,15 +120,14 @@ def build_get_request(
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
-def build_delete_request(
+def build_create_request(
resource_group_name: str, workspace_name: str, source_control_id: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -143,7 +136,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -158,36 +151,36 @@ def build_delete_request(
"sourceControlId": _SERIALIZER.url("source_control_id", source_control_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
# Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
- return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
-def build_create_request(
+def build_delete_request(
resource_group_name: str, workspace_name: str, source_control_id: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}/delete",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -202,7 +195,7 @@ def build_create_request(
"sourceControlId": _SERIALIZER.url("source_control_id", source_control_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -212,7 +205,7 @@ def build_create_request(
_headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
- return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
class SourceControlsOperations:
@@ -243,7 +236,6 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either SourceControl or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.SourceControl]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -251,12 +243,10 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SourceControlList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -267,17 +257,15 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -289,13 +277,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("SourceControlList", pipeline_response)
@@ -305,10 +292,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -320,10 +308,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, source_control_id: str, **kwargs: Any
@@ -337,12 +321,11 @@ def get(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: SourceControl or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.SourceControl
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -353,26 +336,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -381,22 +361,83 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("SourceControl", pipeline_response)
+ deserialized = self._deserialize("SourceControl", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
+ return deserialized # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
+ @overload
+ def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: _models.SourceControl,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param source_control_id: Source control Id. Required.
+ :type source_control_id: str
+ :param source_control: The SourceControl. Required.
+ :type source_control: ~azure.mgmt.securityinsight.models.SourceControl
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param source_control_id: Source control Id. Required.
+ :type source_control_id: str
+ :param source_control: The SourceControl. Required.
+ :type source_control: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
@distributed_trace
- def delete( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, source_control_id: str, **kwargs: Any
- ) -> None:
- """Delete a source control.
+ def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ source_control_id: str,
+ source_control: Union[_models.SourceControl, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.SourceControl:
+ """Creates a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -405,12 +446,14 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: None or the result of cls(response)
- :rtype: None
+ :param source_control: The SourceControl. Is either a SourceControl type or a IO[bytes] type.
+ Required.
+ :type source_control: ~azure.mgmt.securityinsight.models.SourceControl or IO[bytes]
+ :return: SourceControl or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SourceControl
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -418,56 +461,65 @@ def delete( # pylint: disable=inconsistent-return-statements
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[None] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
- request = build_delete_request(
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(source_control, (IOBase, bytes)):
+ _content = source_control
+ else:
+ _json = self._serialize.body(source_control, "SourceControl")
+
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
+ content_type=content_type,
+ json=_json,
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 204]:
+ if response.status_code not in [200, 201]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ deserialized = self._deserialize("SourceControl", pipeline_response.http_response)
+
if cls:
- return cls(pipeline_response, None, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
+ return deserialized # type: ignore
@overload
- def create(
+ def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: _models.SourceControl,
+ repository_access: _models.RepositoryAccessProperties,
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -476,29 +528,28 @@ def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Required.
- :type source_control: ~azure.mgmt.securityinsight.models.SourceControl
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- def create(
+ def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: IO,
+ repository_access: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -507,27 +558,26 @@ def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Required.
- :type source_control: IO
+ :param repository_access: The repository access credentials. Required.
+ :type repository_access: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
- def create(
+ def delete(
self,
resource_group_name: str,
workspace_name: str,
source_control_id: str,
- source_control: Union[_models.SourceControl, IO],
+ repository_access: Union[_models.RepositoryAccessProperties, IO[bytes]],
**kwargs: Any
- ) -> _models.SourceControl:
- """Creates a source control.
+ ) -> _models.Warning:
+ """Delete a source control.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
@@ -536,17 +586,15 @@ def create(
:type workspace_name: str
:param source_control_id: Source control Id. Required.
:type source_control_id: str
- :param source_control: The SourceControl. Is either a model type or a IO type. Required.
- :type source_control: ~azure.mgmt.securityinsight.models.SourceControl or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: SourceControl or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.SourceControl
+ :param repository_access: The repository access credentials. Is either a
+ RepositoryAccessProperties type or a IO[bytes] type. Required.
+ :type repository_access: ~azure.mgmt.securityinsight.models.RepositoryAccessProperties or
+ IO[bytes]
+ :return: Warning or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Warning
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -557,21 +605,19 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.SourceControl] = kwargs.pop("cls", None)
+ cls: ClsType[_models.Warning] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(source_control, (IO, bytes)):
- _content = source_control
+ if isinstance(repository_access, (IOBase, bytes)):
+ _content = repository_access
else:
- _json = self._serialize.body(source_control, "SourceControl")
+ _json = self._serialize.body(repository_access, "RepositoryAccessProperties")
- request = build_create_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
source_control_id=source_control_id,
@@ -580,34 +626,25 @@ def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 201]:
+ if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("SourceControl", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("SourceControl", pipeline_response)
+ deserialized = self._deserialize("Warning", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
-
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_systems_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_systems_operations.py
new file mode 100644
index 000000000000..b4e2b56a792b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_systems_operations.py
@@ -0,0 +1,1210 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ subscription_id: str,
+ *,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if filter is not None:
+ _params["$filter"] = _SERIALIZER.query("filter", filter, "str")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_actions_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}/listActions",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_undo_action_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}/undoAction",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_report_action_status_request(
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/businessApplicationAgents/{agentResourceName}/systems/{systemResourceName}/reportActionStatus",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "agentResourceName": _SERIALIZER.url(
+ "agent_resource_name", agent_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ "systemResourceName": _SERIALIZER.url(
+ "system_resource_name", system_resource_name, "str", max_length=63, min_length=3, pattern=r"^[a-z0-9,-]*$"
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class SystemsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`systems` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[_models.SystemResource] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Default value is None.
+ :type system_to_upsert: ~azure.mgmt.securityinsight.models.SystemResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Default value is None.
+ :type system_to_upsert: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ system_to_upsert: Optional[Union[_models.SystemResource, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Creates or updates the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param system_to_upsert: The system to upsert. Is either a SystemResource type or a IO[bytes]
+ type. Default value is None.
+ :type system_to_upsert: ~azure.mgmt.securityinsight.models.SystemResource or IO[bytes]
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.SystemResource] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(system_to_upsert, (IOBase, bytes)):
+ _content = system_to_upsert
+ else:
+ if system_to_upsert is not None:
+ _json = self._serialize.body(system_to_upsert, "SystemResource")
+ else:
+ _json = None
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("SystemResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> _models.SystemResource:
+ """Gets the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: SystemResource or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.SystemResource
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SystemResource] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("SystemResource", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> None:
+ """Deletes the system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ filter: Optional[str] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.SystemResource"]:
+ """ListAll the systems.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param filter: Filters the results, based on a Boolean condition. Optional. Default value is
+ None.
+ :type filter: str
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either SystemResource or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.SystemResource]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.SystemsList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ subscription_id=self._config.subscription_id,
+ filter=filter,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("SystemsList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def list_actions(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ **kwargs: Any
+ ) -> Iterable["_models.Action"]:
+ """List of actions for a business application system.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :return: An iterator like instance of either Action or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Action]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.ListActionsResponse] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_actions_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListActionsResponse", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @overload
+ def undo_action(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[_models.UndoActionPayload] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.UndoActionPayload
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def undo_action(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Default value is None.
+ :type payload: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def undo_action( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[Union[_models.UndoActionPayload, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Undo action, based on the actionId.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Undo action, based on the actionId. Is either a UndoActionPayload type or a
+ IO[bytes] type. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.UndoActionPayload or IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(payload, (IOBase, bytes)):
+ _content = payload
+ else:
+ if payload is not None:
+ _json = self._serialize.body(payload, "UndoActionPayload")
+ else:
+ _json = None
+
+ _request = build_undo_action_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ def report_action_status(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[_models.ReportActionStatusPayload] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Default value is
+ None.
+ :type payload: ~azure.mgmt.securityinsight.models.ReportActionStatusPayload
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def report_action_status(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Default value is
+ None.
+ :type payload: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def report_action_status( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ agent_resource_name: str,
+ system_resource_name: str,
+ payload: Optional[Union[_models.ReportActionStatusPayload, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> None:
+ """Report the status of the action.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param agent_resource_name: Business Application Agent Name. Required.
+ :type agent_resource_name: str
+ :param system_resource_name: The name of the system. Required.
+ :type system_resource_name: str
+ :param payload: Report a status of the action that was performed by the agent. Is either a
+ ReportActionStatusPayload type or a IO[bytes] type. Default value is None.
+ :type payload: ~azure.mgmt.securityinsight.models.ReportActionStatusPayload or IO[bytes]
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(payload, (IOBase, bytes)):
+ _content = payload
+ else:
+ if payload is not None:
+ _json = self._serialize.body(payload, "ReportActionStatusPayload")
+ else:
+ _json = None
+
+ _request = build_report_action_status_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ agent_resource_name=agent_resource_name,
+ system_resource_name=system_resource_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_metrics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_metrics_operations.py
index 282e791e6ca8..a7f0fb038cb0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_metrics_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_metrics_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -18,20 +17,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -45,9 +42,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -56,7 +51,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -70,7 +65,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -81,7 +76,7 @@ def build_list_request(
return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
-class ThreatIntelligenceIndicatorMetricsOperations:
+class ThreatIntelligenceIndicatorMetricsOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
@@ -111,12 +106,11 @@ def list(
:type resource_group_name: str
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceMetricsList or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceMetricsList
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -127,25 +121,22 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceMetricsList] = kwargs.pop("cls", None)
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -154,13 +145,9 @@ def list(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceMetricsList", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceMetricsList", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_operations.py
index 6800898f0f65..591e602f8396 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicator_operations.py
@@ -6,6 +6,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +21,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +46,7 @@ def build_create_indicator_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -59,7 +56,7 @@ def build_create_indicator_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -73,7 +70,7 @@ def build_create_indicator_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -92,9 +89,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -103,7 +98,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -118,7 +113,7 @@ def build_get_request(
"name": _SERIALIZER.url("name", name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -135,9 +130,7 @@ def build_create_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -147,7 +140,7 @@ def build_create_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -162,7 +155,7 @@ def build_create_request(
"name": _SERIALIZER.url("name", name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -181,9 +174,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -192,7 +183,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -207,7 +198,7 @@ def build_delete_request(
"name": _SERIALIZER.url("name", name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -224,9 +215,7 @@ def build_query_indicators_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -236,7 +225,7 @@ def build_query_indicators_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -250,7 +239,7 @@ def build_query_indicators_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -269,9 +258,7 @@ def build_append_tags_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -281,7 +268,7 @@ def build_append_tags_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -296,7 +283,7 @@ def build_append_tags_request(
"name": _SERIALIZER.url("name", name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -315,9 +302,7 @@ def build_replace_tags_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -327,7 +312,7 @@ def build_replace_tags_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -342,7 +327,7 @@ def build_replace_tags_request(
"name": _SERIALIZER.url("name", name, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -398,7 +383,6 @@ def create_indicator(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -409,7 +393,7 @@ def create_indicator(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_properties: IO,
+ threat_intelligence_properties: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -423,11 +407,10 @@ def create_indicator(
:type workspace_name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
and update. Required.
- :type threat_intelligence_properties: IO
+ :type threat_intelligence_properties: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -438,7 +421,7 @@ def create_indicator(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Create a new threat intelligence indicator.
@@ -449,18 +432,14 @@ def create_indicator(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
- and update. Is either a model type or a IO type. Required.
+ and update. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_properties:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -471,21 +450,19 @@ def create_indicator(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_properties, (IO, bytes)):
+ if isinstance(threat_intelligence_properties, (IOBase, bytes)):
_content = threat_intelligence_properties
else:
_json = self._serialize.body(threat_intelligence_properties, "ThreatIntelligenceIndicatorModel")
- request = build_create_indicator_request(
+ _request = build_create_indicator_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -493,15 +470,14 @@ def create_indicator(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_indicator.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -510,21 +486,13 @@ def create_indicator(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create_indicator.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
@@ -538,12 +506,11 @@ def get(
:type workspace_name: str
:param name: Threat intelligence indicator name field. Required.
:type name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -554,26 +521,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -582,16 +546,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
+ return deserialized # type: ignore
@overload
def create(
@@ -620,7 +580,6 @@ def create(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -632,7 +591,7 @@ def create(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_properties: IO,
+ threat_intelligence_properties: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -648,11 +607,10 @@ def create(
:type name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
and update. Required.
- :type threat_intelligence_properties: IO
+ :type threat_intelligence_properties: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -664,7 +622,7 @@ def create(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_properties: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Update a threat Intelligence indicator.
@@ -677,18 +635,14 @@ def create(
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_properties: Properties of threat intelligence indicators to create
- and update. Is either a model type or a IO type. Required.
+ and update. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_properties:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -699,21 +653,19 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_properties, (IO, bytes)):
+ if isinstance(threat_intelligence_properties, (IOBase, bytes)):
_content = threat_intelligence_properties
else:
_json = self._serialize.body(threat_intelligence_properties, "ThreatIntelligenceIndicatorModel")
- request = build_create_request(
+ _request = build_create_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -722,15 +674,14 @@ def create(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -739,21 +690,13 @@ def create(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
- create.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
-
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
@@ -767,12 +710,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param name: Threat intelligence indicator name field. Required.
:type name: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -783,26 +725,23 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -812,11 +751,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def query_indicators(
@@ -842,7 +777,6 @@ def query_indicators(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -855,7 +789,7 @@ def query_indicators(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_filtering_criteria: IO,
+ threat_intelligence_filtering_criteria: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -869,11 +803,10 @@ def query_indicators(
:type workspace_name: str
:param threat_intelligence_filtering_criteria: Filtering criteria for querying threat
intelligence indicators. Required.
- :type threat_intelligence_filtering_criteria: IO
+ :type threat_intelligence_filtering_criteria: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -886,7 +819,7 @@ def query_indicators(
self,
resource_group_name: str,
workspace_name: str,
- threat_intelligence_filtering_criteria: Union[_models.ThreatIntelligenceFilteringCriteria, IO],
+ threat_intelligence_filtering_criteria: Union[_models.ThreatIntelligenceFilteringCriteria, IO[bytes]],
**kwargs: Any
) -> Iterable["_models.ThreatIntelligenceInformation"]:
"""Query threat intelligence indicators as per filtering criteria.
@@ -897,13 +830,10 @@ def query_indicators(
:param workspace_name: The name of the workspace. Required.
:type workspace_name: str
:param threat_intelligence_filtering_criteria: Filtering criteria for querying threat
- intelligence indicators. Is either a model type or a IO type. Required.
+ intelligence indicators. Is either a ThreatIntelligenceFilteringCriteria type or a IO[bytes]
+ type. Required.
:type threat_intelligence_filtering_criteria:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceFilteringCriteria or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceFilteringCriteria or IO[bytes]
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -913,13 +843,11 @@ def query_indicators(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -929,7 +857,7 @@ def query_indicators(
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_filtering_criteria, (IO, bytes)):
+ if isinstance(threat_intelligence_filtering_criteria, (IOBase, bytes)):
_content = threat_intelligence_filtering_criteria
else:
_json = self._serialize.body(threat_intelligence_filtering_criteria, "ThreatIntelligenceFilteringCriteria")
@@ -937,7 +865,7 @@ def query_indicators(
def prepare_request(next_link=None):
if not next_link:
- request = build_query_indicators_request(
+ _request = build_query_indicators_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
@@ -945,12 +873,10 @@ def prepare_request(next_link=None):
content_type=content_type,
json=_json,
content=_content,
- template_url=self.query_indicators.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -962,13 +888,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("ThreatIntelligenceInformationList", pipeline_response)
@@ -978,10 +903,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -993,12 +919,8 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- query_indicators.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators"
- }
-
@overload
- def append_tags( # pylint: disable=inconsistent-return-statements
+ def append_tags(
self,
resource_group_name: str,
workspace_name: str,
@@ -1024,19 +946,18 @@ def append_tags( # pylint: disable=inconsistent-return-statements
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- def append_tags( # pylint: disable=inconsistent-return-statements
+ def append_tags(
self,
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_append_tags: IO,
+ threat_intelligence_append_tags: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -1052,11 +973,10 @@ def append_tags( # pylint: disable=inconsistent-return-statements
:type name: str
:param threat_intelligence_append_tags: The threat intelligence append tags request body.
Required.
- :type threat_intelligence_append_tags: IO
+ :type threat_intelligence_append_tags: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
@@ -1068,7 +988,7 @@ def append_tags( # pylint: disable=inconsistent-return-statements
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_append_tags: Union[_models.ThreatIntelligenceAppendTags, IO],
+ threat_intelligence_append_tags: Union[_models.ThreatIntelligenceAppendTags, IO[bytes]],
**kwargs: Any
) -> None:
"""Append tags to a threat intelligence indicator.
@@ -1081,18 +1001,14 @@ def append_tags( # pylint: disable=inconsistent-return-statements
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_append_tags: The threat intelligence append tags request body. Is
- either a model type or a IO type. Required.
+ either a ThreatIntelligenceAppendTags type or a IO[bytes] type. Required.
:type threat_intelligence_append_tags:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceAppendTags or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceAppendTags or IO[bytes]
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -1103,21 +1019,19 @@ def append_tags( # pylint: disable=inconsistent-return-statements
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[None] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_append_tags, (IO, bytes)):
+ if isinstance(threat_intelligence_append_tags, (IOBase, bytes)):
_content = threat_intelligence_append_tags
else:
_json = self._serialize.body(threat_intelligence_append_tags, "ThreatIntelligenceAppendTags")
- request = build_append_tags_request(
+ _request = build_append_tags_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -1126,15 +1040,14 @@ def append_tags( # pylint: disable=inconsistent-return-statements
content_type=content_type,
json=_json,
content=_content,
- template_url=self.append_tags.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1144,11 +1057,7 @@ def append_tags( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- append_tags.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def replace_tags(
@@ -1177,7 +1086,6 @@ def replace_tags(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -1189,7 +1097,7 @@ def replace_tags(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_replace_tags: IO,
+ threat_intelligence_replace_tags: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -1205,11 +1113,10 @@ def replace_tags(
:type name: str
:param threat_intelligence_replace_tags: Tags in the threat intelligence indicator to be
replaced. Required.
- :type threat_intelligence_replace_tags: IO
+ :type threat_intelligence_replace_tags: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
@@ -1221,7 +1128,7 @@ def replace_tags(
resource_group_name: str,
workspace_name: str,
name: str,
- threat_intelligence_replace_tags: Union[_models.ThreatIntelligenceIndicatorModel, IO],
+ threat_intelligence_replace_tags: Union[_models.ThreatIntelligenceIndicatorModel, IO[bytes]],
**kwargs: Any
) -> _models.ThreatIntelligenceInformation:
"""Replace tags added to a threat intelligence indicator.
@@ -1234,18 +1141,14 @@ def replace_tags(
:param name: Threat intelligence indicator name field. Required.
:type name: str
:param threat_intelligence_replace_tags: Tags in the threat intelligence indicator to be
- replaced. Is either a model type or a IO type. Required.
+ replaced. Is either a ThreatIntelligenceIndicatorModel type or a IO[bytes] type. Required.
:type threat_intelligence_replace_tags:
- ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ ~azure.mgmt.securityinsight.models.ThreatIntelligenceIndicatorModel or IO[bytes]
:return: ThreatIntelligenceInformation or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceInformation
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -1256,21 +1159,19 @@ def replace_tags(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.ThreatIntelligenceInformation] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(threat_intelligence_replace_tags, (IO, bytes)):
+ if isinstance(threat_intelligence_replace_tags, (IOBase, bytes)):
_content = threat_intelligence_replace_tags
else:
_json = self._serialize.body(threat_intelligence_replace_tags, "ThreatIntelligenceIndicatorModel")
- request = build_replace_tags_request(
+ _request = build_replace_tags_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
name=name,
@@ -1279,15 +1180,14 @@ def replace_tags(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.replace_tags.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1296,13 +1196,9 @@ def replace_tags(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response)
+ deserialized = self._deserialize("ThreatIntelligenceInformation", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- replace_tags.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags"
- }
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicators_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicators_operations.py
index 8353884e05ce..803001732c82 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicators_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_indicators_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -20,20 +19,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,17 +44,15 @@ def build_list_request(
subscription_id: str,
*,
filter: Optional[str] = None,
- orderby: Optional[str] = None,
top: Optional[int] = None,
skip_token: Optional[str] = None,
+ orderby: Optional[str] = None,
**kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -66,7 +61,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -80,18 +75,18 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
if filter is not None:
_params["$filter"] = _SERIALIZER.query("filter", filter, "str")
- if orderby is not None:
- _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
if top is not None:
_params["$top"] = _SERIALIZER.query("top", top, "int")
if skip_token is not None:
_params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -124,9 +119,9 @@ def list(
resource_group_name: str,
workspace_name: str,
filter: Optional[str] = None,
- orderby: Optional[str] = None,
top: Optional[int] = None,
skip_token: Optional[str] = None,
+ orderby: Optional[str] = None,
**kwargs: Any
) -> Iterable["_models.ThreatIntelligenceInformation"]:
"""Get all threat intelligence indicators.
@@ -139,8 +134,6 @@ def list(
:param filter: Filters the results, based on a Boolean condition. Optional. Default value is
None.
:type filter: str
- :param orderby: Sorts the results. Optional. Default value is None.
- :type orderby: str
:param top: Returns only the first n results. Optional. Default value is None.
:type top: int
:param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
@@ -148,7 +141,8 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
:return: An iterator like instance of either ThreatIntelligenceInformation or the result of
cls(response)
:rtype:
@@ -158,12 +152,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.ThreatIntelligenceInformationList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -174,21 +166,19 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
filter=filter,
- orderby=orderby,
top=top,
skip_token=skip_token,
+ orderby=orderby,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -200,13 +190,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("ThreatIntelligenceInformationList", pipeline_response)
@@ -216,10 +205,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -230,7 +220,3 @@ def get_next(next_link=None):
return pipeline_response
return ItemPaged(get_next, extract_data)
-
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_operations.py
new file mode 100644
index 000000000000..2c1567a11204
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_threat_intelligence_operations.py
@@ -0,0 +1,466 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_count_request(
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/{tiType}/count",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "tiType": _SERIALIZER.url("ti_type", ti_type, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_query_request(
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/{tiType}/query",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "tiType": _SERIALIZER.url("ti_type", ti_type, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class ThreatIntelligenceOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`threat_intelligence` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @overload
+ def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[_models.CountQuery] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.CountQuery
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def count(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[Union[_models.CountQuery, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> _models.ThreatIntelligenceCount:
+ """Gets the count of all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Is either a CountQuery type
+ or a IO[bytes] type. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.CountQuery or IO[bytes]
+ :return: ThreatIntelligenceCount or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.ThreatIntelligenceCount
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ThreatIntelligenceCount] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(query, (IOBase, bytes)):
+ _content = query
+ else:
+ if query is not None:
+ _json = self._serialize.body(query, "CountQuery")
+ else:
+ _json = None
+
+ _request = build_count_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ ti_type=ti_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("ThreatIntelligenceCount", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[_models.Query] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> Iterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.Query
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[IO[bytes]] = None,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> Iterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Default value is None.
+ :type query: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def query(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ ti_type: Union[str, _models.TiType],
+ query: Optional[Union[_models.Query, IO[bytes]]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.TIObject"]:
+ """Gets all TI objects for the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param ti_type: TI type. "main" Required.
+ :type ti_type: str or ~azure.mgmt.securityinsight.models.TiType
+ :param query: The query to run on the TI objects in the workspace. Is either a Query type or a
+ IO[bytes] type. Default value is None.
+ :type query: ~azure.mgmt.securityinsight.models.Query or IO[bytes]
+ :return: An iterator like instance of either TIObject or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.TIObject]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ThreatIntelligenceList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(query, (IOBase, bytes)):
+ _content = query
+ else:
+ if query is not None:
+ _json = self._serialize.body(query, "Query")
+ else:
+ _json = None
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_query_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ ti_type=ti_type,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ThreatIntelligenceList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_triggered_analytics_rule_run_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_triggered_analytics_rule_run_operations.py
new file mode 100644
index 000000000000..3b408858fb90
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_triggered_analytics_rule_run_operations.py
@@ -0,0 +1,157 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, rule_run_id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns/{ruleRunId}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "ruleRunId": _SERIALIZER.url("rule_run_id", rule_run_id, "str"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class TriggeredAnalyticsRuleRunOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`triggered_analytics_rule_run` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, rule_run_id: str, **kwargs: Any
+ ) -> _models.TriggeredAnalyticsRuleRun:
+ """Gets the triggered analytics rule run.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param rule_run_id: the triggered rule id. Required.
+ :type rule_run_id: str
+ :return: TriggeredAnalyticsRuleRun or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.TriggeredAnalyticsRuleRun
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.TriggeredAnalyticsRuleRun] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ rule_run_id=rule_run_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("TriggeredAnalyticsRuleRun", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_update_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_update_operations.py
index b35219b0a81e..e9e11c6a653a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_update_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_update_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, List, Optional, TypeVar, Union, cast, overload
+from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload
from azure.core.exceptions import (
ClientAuthenticationError,
@@ -18,22 +18,18 @@
map_error,
)
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.polling import LROPoller, NoPolling, PollingMethod
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
-from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -47,9 +43,7 @@ def build_recommendation_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -59,7 +53,7 @@ def build_recommendation_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -74,7 +68,7 @@ def build_recommendation_request(
"recommendationId": _SERIALIZER.url("recommendation_id", recommendation_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -106,87 +100,17 @@ def __init__(self, *args, **kwargs):
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
- def _recommendation_initial(
- self,
- resource_group_name: str,
- workspace_name: str,
- recommendation_id: str,
- recommendation_patch: Union[List[_models.RecommendationPatch], IO],
- **kwargs: Any
- ) -> _models.Recommendation:
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
- _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
-
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
- cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(recommendation_patch, (IO, bytes)):
- _content = recommendation_patch
- else:
- _json = self._serialize.body(recommendation_patch, "[RecommendationPatch]")
-
- request = build_recommendation_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- recommendation_id=recommendation_id,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self._recommendation_initial.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [202]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- deserialized = self._deserialize("Recommendation", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
-
- _recommendation_initial.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
-
@overload
- def begin_recommendation(
+ def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: List[_models.RecommendationPatch],
+ recommendation_patch: _models.RecommendationPatch,
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> LROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -197,35 +121,26 @@ def begin_recommendation(
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
:param recommendation_patch: Recommendation Fields to Update. Required.
- :type recommendation_patch: list[~azure.mgmt.securityinsight.models.RecommendationPatch]
+ :type recommendation_patch: ~azure.mgmt.securityinsight.models.RecommendationPatch
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
- operation to not poll, or pass in your own initialized polling object for a personal polling
- strategy.
- :paramtype polling: bool or ~azure.core.polling.PollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of LROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- def begin_recommendation(
+ def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: IO,
+ recommendation_patch: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> LROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -236,33 +151,24 @@ def begin_recommendation(
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
:param recommendation_patch: Recommendation Fields to Update. Required.
- :type recommendation_patch: IO
+ :type recommendation_patch: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
- operation to not poll, or pass in your own initialized polling object for a personal polling
- strategy.
- :paramtype polling: bool or ~azure.core.polling.PollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of LROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
- def begin_recommendation(
+ def recommendation(
self,
resource_group_name: str,
workspace_name: str,
recommendation_id: str,
- recommendation_patch: Union[List[_models.RecommendationPatch], IO],
+ recommendation_patch: Union[_models.RecommendationPatch, IO[bytes]],
**kwargs: Any
- ) -> LROPoller[_models.Recommendation]:
+ ) -> _models.Recommendation:
"""Patch a recommendation.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -272,72 +178,64 @@ def begin_recommendation(
:type workspace_name: str
:param recommendation_id: Recommendation Id. Required.
:type recommendation_id: str
- :param recommendation_patch: Recommendation Fields to Update. Is either a list type or a IO
- type. Required.
- :type recommendation_patch: list[~azure.mgmt.securityinsight.models.RecommendationPatch] or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :keyword str continuation_token: A continuation token to restart a poller from a saved state.
- :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
- operation to not poll, or pass in your own initialized polling object for a personal polling
- strategy.
- :paramtype polling: bool or ~azure.core.polling.PollingMethod
- :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
- Retry-After header is present.
- :return: An instance of LROPoller that returns either Recommendation or the result of
- cls(response)
- :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Recommendation]
+ :param recommendation_patch: Recommendation Fields to Update. Is either a RecommendationPatch
+ type or a IO[bytes] type. Required.
+ :type recommendation_patch: ~azure.mgmt.securityinsight.models.RecommendationPatch or IO[bytes]
+ :return: Recommendation or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Recommendation
:raises ~azure.core.exceptions.HttpResponseError:
"""
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Recommendation] = kwargs.pop("cls", None)
- polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
- lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
- cont_token: Optional[str] = kwargs.pop("continuation_token", None)
- if cont_token is None:
- raw_result = self._recommendation_initial(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- recommendation_id=recommendation_id,
- recommendation_patch=recommendation_patch,
- api_version=api_version,
- content_type=content_type,
- cls=lambda x, y, z: x,
- headers=_headers,
- params=_params,
- **kwargs
- )
- kwargs.pop("error_map", None)
-
- def get_long_running_output(pipeline_response):
- deserialized = self._deserialize("Recommendation", pipeline_response)
- if cls:
- return cls(pipeline_response, deserialized, {})
- return deserialized
-
- if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
- elif polling is False:
- polling_method = cast(PollingMethod, NoPolling())
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(recommendation_patch, (IOBase, bytes)):
+ _content = recommendation_patch
else:
- polling_method = polling
- if cont_token:
- return LROPoller.from_continuation_token(
- polling_method=polling_method,
- continuation_token=cont_token,
- client=self._client,
- deserialization_callback=get_long_running_output,
- )
- return LROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore
-
- begin_recommendation.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations/{recommendationId}"
- }
+ _json = self._serialize.body(recommendation_patch, "RecommendationPatch")
+
+ _request = build_recommendation_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ recommendation_id=recommendation_id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Recommendation", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlist_items_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlist_items_operations.py
index 1139c4e49331..ef75b903dcc0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlist_items_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlist_items_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,6 +5,7 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
import urllib.parse
@@ -20,20 +20,18 @@
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -53,9 +51,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -64,7 +60,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -79,7 +75,7 @@ def build_list_request(
"watchlistAlias": _SERIALIZER.url("watchlist_alias", watchlist_alias, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -103,9 +99,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -114,7 +108,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -130,7 +124,7 @@ def build_get_request(
"watchlistItemId": _SERIALIZER.url("watchlist_item_id", watchlist_item_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -152,9 +146,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -163,7 +155,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -179,7 +171,7 @@ def build_delete_request(
"watchlistItemId": _SERIALIZER.url("watchlist_item_id", watchlist_item_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -201,9 +193,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -213,7 +203,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -229,7 +219,7 @@ def build_create_or_update_request(
"watchlistItemId": _SERIALIZER.url("watchlist_item_id", watchlist_item_id, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -284,7 +274,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either WatchlistItem or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.WatchlistItem]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -292,12 +281,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistItemList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -308,19 +295,17 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -332,13 +317,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("WatchlistItemList", pipeline_response)
@@ -348,10 +332,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -363,10 +348,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, watchlist_item_id: str, **kwargs: Any
@@ -382,12 +363,11 @@ def get(
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -398,27 +378,24 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistItem] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
watchlist_item_id=watchlist_item_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -427,16 +404,12 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
+ deserialized = self._deserialize("WatchlistItem", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
-
- return deserialized
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
+ return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
@@ -453,12 +426,11 @@ def delete( # pylint: disable=inconsistent-return-statements
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -469,27 +441,24 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
- request = build_delete_request(
+ _request = build_delete_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
watchlist_item_id=watchlist_item_id,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -499,11 +468,7 @@ def delete( # pylint: disable=inconsistent-return-statements
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
if cls:
- return cls(pipeline_response, None, {})
-
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
+ return cls(pipeline_response, None, {}) # type: ignore
@overload
def create_or_update(
@@ -533,7 +498,6 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
@@ -546,7 +510,7 @@ def create_or_update(
workspace_name: str,
watchlist_alias: str,
watchlist_item_id: str,
- watchlist_item: IO,
+ watchlist_item: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
@@ -563,11 +527,10 @@ def create_or_update(
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
:param watchlist_item: The watchlist item. Required.
- :type watchlist_item: IO
+ :type watchlist_item: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
@@ -580,7 +543,7 @@ def create_or_update(
workspace_name: str,
watchlist_alias: str,
watchlist_item_id: str,
- watchlist_item: Union[_models.WatchlistItem, IO],
+ watchlist_item: Union[_models.WatchlistItem, IO[bytes]],
**kwargs: Any
) -> _models.WatchlistItem:
"""Creates or updates a watchlist item.
@@ -594,17 +557,14 @@ def create_or_update(
:type watchlist_alias: str
:param watchlist_item_id: Watchlist Item Id (GUID). Required.
:type watchlist_item_id: str
- :param watchlist_item: The watchlist item. Is either a model type or a IO type. Required.
- :type watchlist_item: ~azure.mgmt.securityinsight.models.WatchlistItem or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
+ :param watchlist_item: The watchlist item. Is either a WatchlistItem type or a IO[bytes] type.
+ Required.
+ :type watchlist_item: ~azure.mgmt.securityinsight.models.WatchlistItem or IO[bytes]
:return: WatchlistItem or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.WatchlistItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -615,21 +575,19 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.WatchlistItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
- if isinstance(watchlist_item, (IO, bytes)):
+ if isinstance(watchlist_item, (IOBase, bytes)):
_content = watchlist_item
else:
_json = self._serialize.body(watchlist_item, "WatchlistItem")
- request = build_create_or_update_request(
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
@@ -639,15 +597,14 @@ def create_or_update(
content_type=content_type,
json=_json,
content=_content,
- template_url=self.create_or_update.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -656,17 +613,9 @@ def create_or_update(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- if response.status_code == 200:
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
-
- if response.status_code == 201:
- deserialized = self._deserialize("WatchlistItem", pipeline_response)
+ deserialized = self._deserialize("WatchlistItem", pipeline_response.http_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
-
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}"
- }
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlists_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlists_operations.py
index c675404d4edb..76be9fe7106c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlists_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_watchlists_operations.py
@@ -1,4 +1,3 @@
-# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6,8 +5,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from io import IOBase
import sys
-from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@@ -16,24 +16,26 @@
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
+ StreamClosedError,
+ StreamConsumedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
-from azure.core.pipeline.transport import HttpResponse
-from azure.core.rest import HttpRequest
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest, HttpResponse
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
-from .._vendor import _convert_request, _format_url_section
-if sys.version_info >= (3, 8):
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
else:
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+ from typing import MutableMapping # type: ignore
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@@ -52,9 +54,7 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -63,7 +63,7 @@ def build_list_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -77,7 +77,7 @@ def build_list_request(
),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -96,9 +96,7 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -107,7 +105,7 @@ def build_get_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -122,7 +120,7 @@ def build_get_request(
"watchlistAlias": _SERIALIZER.url("watchlist_alias", watchlist_alias, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -139,9 +137,7 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -150,7 +146,7 @@ def build_delete_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -165,7 +161,7 @@ def build_delete_request(
"watchlistAlias": _SERIALIZER.url("watchlist_alias", watchlist_alias, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -182,9 +178,7 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", "2022-12-01-preview")
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -194,7 +188,7 @@ def build_create_or_update_request(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}",
) # pylint: disable=line-too-long
path_format_arguments = {
- "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
@@ -209,7 +203,7 @@ def build_create_or_update_request(
"watchlistAlias": _SERIALIZER.url("watchlist_alias", watchlist_alias, "str"),
}
- _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+ _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@@ -257,7 +251,6 @@ def list(
a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
Default value is None.
:type skip_token: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Watchlist or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
@@ -265,12 +258,10 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.WatchlistList] = kwargs.pop("cls", None)
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -281,18 +272,16 @@ def list(
def prepare_request(next_link=None):
if not next_link:
- request = build_list_request(
+ _request = build_list_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
skip_token=skip_token,
api_version=api_version,
- template_url=self.list.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
else:
# make call to next link with the client's api-version
@@ -304,13 +293,12 @@ def prepare_request(next_link=None):
}
)
_next_request_params["api-version"] = self._config.api_version
- request = HttpRequest(
+ _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
- request.method = "GET"
- return request
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("WatchlistList", pipeline_response)
@@ -320,10 +308,11 @@ def extract_data(pipeline_response):
return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None):
- request = prepare_request(next_link)
+ _request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -335,10 +324,6 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)
- list.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists"
- }
-
@distributed_trace
def get(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
@@ -352,12 +337,11 @@ def get(
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :keyword callable cls: A custom type or function that will be passed the direct response
:return: Watchlist or the result of cls(response)
:rtype: ~azure.mgmt.securityinsight.models.Watchlist
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -368,26 +352,23 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.Watchlist] = kwargs.pop("cls", None)
- request = build_get_request(
+ _request = build_get_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -396,21 +377,76 @@ def get(
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
- deserialized = self._deserialize("Watchlist", pipeline_response)
+ deserialized = self._deserialize("Watchlist", pipeline_response.http_response)
if cls:
- return cls(pipeline_response, deserialized, {})
+ return cls(pipeline_response, deserialized, {}) # type: ignore
- return deserialized
+ return deserialized # type: ignore
- get.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ def _delete_initial(
+ self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
+ ) -> Iterator[bytes]:
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202, 204]:
+ try:
+ response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers["Azure-AsyncOperation"] = self._deserialize(
+ "str", response.headers.get("Azure-AsyncOperation")
+ )
+ response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
+
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
@distributed_trace
- def delete( # pylint: disable=inconsistent-return-statements
+ def begin_delete(
self, resource_group_name: str, workspace_name: str, watchlist_alias: str, **kwargs: Any
- ) -> None:
+ ) -> LROPoller[None]:
"""Delete a watchlist.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -420,12 +456,60 @@ def delete( # pylint: disable=inconsistent-return-statements
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: None or the result of cls(response)
- :rtype: None
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ if polling is True:
+ polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ elif polling is False:
+ polling_method = cast(PollingMethod, NoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return LROPoller[None].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ watchlist_alias: str,
+ watchlist: Union[_models.Watchlist, IO[bytes]],
+ **kwargs: Any
+ ) -> Iterator[bytes]:
+ error_map: MutableMapping = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
@@ -433,52 +517,67 @@ def delete( # pylint: disable=inconsistent-return-statements
}
error_map.update(kwargs.pop("error_map", {}) or {})
- _headers = kwargs.pop("headers", {}) or {}
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
- cls: ClsType[None] = kwargs.pop("cls", None)
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None)
- request = build_delete_request(
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(watchlist, (IOBase, bytes)):
+ _content = watchlist
+ else:
+ _json = self._serialize.body(watchlist, "Watchlist")
+
+ _request = build_create_or_update_request(
resource_group_name=resource_group_name,
workspace_name=workspace_name,
watchlist_alias=watchlist_alias,
subscription_id=self._config.subscription_id,
api_version=api_version,
- template_url=self.delete.metadata["url"],
+ content_type=content_type,
+ json=_json,
+ content=_content,
headers=_headers,
params=_params,
)
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
+ _request.url = self._client.format_url(_request.url)
+ _decompress = kwargs.pop("decompress", True)
+ _stream = True
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ _request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
- if response.status_code not in [200, 204]:
+ if response.status_code not in [200, 201]:
+ try:
+ response.read() # Load the body in memory and close the socket
+ except (StreamConsumedError, StreamClosedError):
+ pass
map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
response_headers = {}
- if response.status_code == 200:
+ if response.status_code == 201:
response_headers["Azure-AsyncOperation"] = self._deserialize(
"str", response.headers.get("Azure-AsyncOperation")
)
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
+
if cls:
- return cls(pipeline_response, None, response_headers)
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
- delete.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ return deserialized # type: ignore
@overload
- def create_or_update(
+ def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
@@ -487,7 +586,7 @@ def create_or_update(
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> LROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -507,23 +606,22 @@ def create_or_update(
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :return: An instance of LROPoller that returns either Watchlist or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
- def create_or_update(
+ def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
watchlist_alias: str,
- watchlist: IO,
+ watchlist: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> LROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -539,25 +637,24 @@ def create_or_update(
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
:param watchlist: The watchlist. Required.
- :type watchlist: IO
+ :type watchlist: IO[bytes]
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :return: An instance of LROPoller that returns either Watchlist or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
- def create_or_update(
+ def begin_create_or_update(
self,
resource_group_name: str,
workspace_name: str,
watchlist_alias: str,
- watchlist: Union[_models.Watchlist, IO],
+ watchlist: Union[_models.Watchlist, IO[bytes]],
**kwargs: Any
- ) -> _models.Watchlist:
+ ) -> LROPoller[_models.Watchlist]:
"""Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv
content type). To create a Watchlist and its Items, we should call this endpoint with either
rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for
@@ -572,83 +669,56 @@ def create_or_update(
:type workspace_name: str
:param watchlist_alias: Watchlist Alias. Required.
:type watchlist_alias: str
- :param watchlist: The watchlist. Is either a model type or a IO type. Required.
- :type watchlist: ~azure.mgmt.securityinsight.models.Watchlist or IO
- :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
- Default value is None.
- :paramtype content_type: str
- :keyword callable cls: A custom type or function that will be passed the direct response
- :return: Watchlist or the result of cls(response)
- :rtype: ~azure.mgmt.securityinsight.models.Watchlist
+ :param watchlist: The watchlist. Is either a Watchlist type or a IO[bytes] type. Required.
+ :type watchlist: ~azure.mgmt.securityinsight.models.Watchlist or IO[bytes]
+ :return: An instance of LROPoller that returns either Watchlist or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.securityinsight.models.Watchlist]
:raises ~azure.core.exceptions.HttpResponseError:
"""
- error_map = {
- 401: ClientAuthenticationError,
- 404: ResourceNotFoundError,
- 409: ResourceExistsError,
- 304: ResourceNotModifiedError,
- }
- error_map.update(kwargs.pop("error_map", {}) or {})
-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-12-01-preview"] = kwargs.pop(
- "api_version", _params.pop("api-version", self._config.api_version)
- )
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.Watchlist] = kwargs.pop("cls", None)
-
- content_type = content_type or "application/json"
- _json = None
- _content = None
- if isinstance(watchlist, (IO, bytes)):
- _content = watchlist
- else:
- _json = self._serialize.body(watchlist, "Watchlist")
-
- request = build_create_or_update_request(
- resource_group_name=resource_group_name,
- workspace_name=workspace_name,
- watchlist_alias=watchlist_alias,
- subscription_id=self._config.subscription_id,
- api_version=api_version,
- content_type=content_type,
- json=_json,
- content=_content,
- template_url=self.create_or_update.metadata["url"],
- headers=_headers,
- params=_params,
- )
- request = _convert_request(request)
- request.url = self._client.format_url(request.url)
-
- pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
- )
-
- response = pipeline_response.http_response
-
- if response.status_code not in [200, 201]:
- map_error(status_code=response.status_code, response=response, error_map=error_map)
- raise HttpResponseError(response=response, error_format=ARMErrorFormat)
-
- response_headers = {}
- if response.status_code == 200:
- deserialized = self._deserialize("Watchlist", pipeline_response)
-
- if response.status_code == 201:
- response_headers["Azure-AsyncOperation"] = self._deserialize(
- "str", response.headers.get("Azure-AsyncOperation")
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ watchlist_alias=watchlist_alias,
+ watchlist=watchlist,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
)
+ raw_result.http_response.read() # type: ignore
+ kwargs.pop("error_map", None)
- deserialized = self._deserialize("Watchlist", pipeline_response)
-
- if cls:
- return cls(pipeline_response, deserialized, response_headers) # type: ignore
-
- return deserialized # type: ignore
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Watchlist", pipeline_response.http_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+ return deserialized
- create_or_update.metadata = {
- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}"
- }
+ if polling is True:
+ polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ elif polling is False:
+ polling_method = cast(PollingMethod, NoPolling())
+ else:
+ polling_method = polling
+ if cont_token:
+ return LROPoller[_models.Watchlist].from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output,
+ )
+ return LROPoller[_models.Watchlist](
+ self._client, raw_result, get_long_running_output, polling_method # type: ignore
+ )
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignment_jobs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignment_jobs_operations.py
new file mode 100644
index 000000000000..6f56cf04e5e3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignment_jobs_operations.py
@@ -0,0 +1,577 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ subscription_id: str,
+ *,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs/{jobName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "jobName": _SERIALIZER.url("job_name", job_name, "str", pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs/{jobName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "jobName": _SERIALIZER.url("job_name", job_name, "str", pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$"),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class WorkspaceManagerAssignmentJobsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`workspace_manager_assignment_jobs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.Job"]:
+ """Get all jobs for the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either Job or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.Job]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.JobList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("JobList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def create(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> _models.Job:
+ """Create a job for the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: Job or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Job
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Job] = kwargs.pop("cls", None)
+
+ _request = build_create_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Job", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ **kwargs: Any
+ ) -> _models.Job:
+ """Gets a job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param job_name: The job name. Required.
+ :type job_name: str
+ :return: Job or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.Job
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.Job] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ job_name=job_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("Job", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ job_name: str,
+ **kwargs: Any
+ ) -> None:
+ """Deletes the specified job from the specified workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param job_name: The job name. Required.
+ :type job_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ job_name=job_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignments_operations.py
new file mode 100644
index 000000000000..12e423e0c6ba
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_assignments_operations.py
@@ -0,0 +1,635 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerAssignmentName": _SERIALIZER.url(
+ "workspace_manager_assignment_name",
+ workspace_manager_assignment_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class WorkspaceManagerAssignmentsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`workspace_manager_assignments` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.WorkspaceManagerAssignment"]:
+ """Get all workspace manager assignments for the Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerAssignment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerAssignmentList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerAssignmentList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Gets a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerAssignment] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerAssignment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: _models.WorkspaceManagerAssignment,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Required.
+ :type workspace_manager_assignment:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Required.
+ :type workspace_manager_assignment: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_assignment_name: str,
+ workspace_manager_assignment: Union[_models.WorkspaceManagerAssignment, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerAssignment:
+ """Creates or updates a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :param workspace_manager_assignment: The workspace manager assignment. Is either a
+ WorkspaceManagerAssignment type or a IO[bytes] type. Required.
+ :type workspace_manager_assignment:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment or IO[bytes]
+ :return: WorkspaceManagerAssignment or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerAssignment
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerAssignment] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_assignment, (IOBase, bytes)):
+ _content = workspace_manager_assignment
+ else:
+ _json = self._serialize.body(workspace_manager_assignment, "WorkspaceManagerAssignment")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerAssignment", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, workspace_manager_assignment_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager assignment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_assignment_name: The name of the workspace manager assignment.
+ Required.
+ :type workspace_manager_assignment_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_assignment_name=workspace_manager_assignment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_configurations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_configurations_operations.py
new file mode 100644
index 000000000000..b7fc451d97d8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_configurations_operations.py
@@ -0,0 +1,635 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/{workspaceManagerConfigurationName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerConfigurationName": _SERIALIZER.url(
+ "workspace_manager_configuration_name",
+ workspace_manager_configuration_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/{workspaceManagerConfigurationName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerConfigurationName": _SERIALIZER.url(
+ "workspace_manager_configuration_name",
+ workspace_manager_configuration_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/{workspaceManagerConfigurationName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerConfigurationName": _SERIALIZER.url(
+ "workspace_manager_configuration_name",
+ workspace_manager_configuration_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class WorkspaceManagerConfigurationsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`workspace_manager_configurations` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.WorkspaceManagerConfiguration"]:
+ """Gets all workspace manager configurations for a Sentinel workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerConfiguration or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerConfigurationList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerConfigurationList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_configuration_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Gets a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerConfiguration] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerConfiguration", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, workspace_manager_configuration_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: _models.WorkspaceManagerConfiguration,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Required.
+ :type workspace_manager_configuration:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Required.
+ :type workspace_manager_configuration: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_configuration_name: str,
+ workspace_manager_configuration: Union[_models.WorkspaceManagerConfiguration, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerConfiguration:
+ """Creates or updates a workspace manager configuration.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_configuration_name: The name of the workspace manager configuration.
+ Required.
+ :type workspace_manager_configuration_name: str
+ :param workspace_manager_configuration: The workspace manager configuration. Is either a
+ WorkspaceManagerConfiguration type or a IO[bytes] type. Required.
+ :type workspace_manager_configuration:
+ ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration or IO[bytes]
+ :return: WorkspaceManagerConfiguration or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerConfiguration
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerConfiguration] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_configuration, (IOBase, bytes)):
+ _content = workspace_manager_configuration
+ else:
+ _json = self._serialize.body(workspace_manager_configuration, "WorkspaceManagerConfiguration")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_configuration_name=workspace_manager_configuration_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerConfiguration", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_groups_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_groups_operations.py
new file mode 100644
index 000000000000..0f0bc453d590
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_groups_operations.py
@@ -0,0 +1,628 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups/{workspaceManagerGroupName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerGroupName": _SERIALIZER.url(
+ "workspace_manager_group_name",
+ workspace_manager_group_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups/{workspaceManagerGroupName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerGroupName": _SERIALIZER.url(
+ "workspace_manager_group_name",
+ workspace_manager_group_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups/{workspaceManagerGroupName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerGroupName": _SERIALIZER.url(
+ "workspace_manager_group_name",
+ workspace_manager_group_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class WorkspaceManagerGroupsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`workspace_manager_groups` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.WorkspaceManagerGroup"]:
+ """Gets all workspace manager groups in the Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerGroup or the result of
+ cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerGroup]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerGroupList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerGroupList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_group_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Gets a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerGroup] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerGroup", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: _models.WorkspaceManagerGroup,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Required.
+ :type workspace_manager_group: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Required.
+ :type workspace_manager_group: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_group_name: str,
+ workspace_manager_group: Union[_models.WorkspaceManagerGroup, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerGroup:
+ """Creates or updates a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :param workspace_manager_group: The workspace manager group object. Is either a
+ WorkspaceManagerGroup type or a IO[bytes] type. Required.
+ :type workspace_manager_group: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup or
+ IO[bytes]
+ :return: WorkspaceManagerGroup or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerGroup
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerGroup] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_group, (IOBase, bytes)):
+ _content = workspace_manager_group
+ else:
+ _json = self._serialize.body(workspace_manager_group, "WorkspaceManagerGroup")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerGroup", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, workspace_manager_group_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_group_name: The name of the workspace manager group. Required.
+ :type workspace_manager_group_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_group_name=workspace_manager_group_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_members_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_members_operations.py
new file mode 100644
index 000000000000..f08c785a98b4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight/operations/_workspace_manager_members_operations.py
@@ -0,0 +1,628 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from io import IOBase
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.rest import HttpRequest, HttpResponse
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._serialization import Serializer
+
+if sys.version_info >= (3, 9):
+ from collections.abc import MutableMapping
+else:
+ from typing import MutableMapping # type: ignore
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if orderby is not None:
+ _params["$orderby"] = _SERIALIZER.query("orderby", orderby, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip_token is not None:
+ _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/{workspaceManagerMemberName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerMemberName": _SERIALIZER.url(
+ "workspace_manager_member_name",
+ workspace_manager_member_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/{workspaceManagerMemberName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerMemberName": _SERIALIZER.url(
+ "workspace_manager_member_name",
+ workspace_manager_member_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-10-01-preview"))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/{workspaceManagerMemberName}",
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
+ "resourceGroupName": _SERIALIZER.url(
+ "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
+ ),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name",
+ workspace_name,
+ "str",
+ max_length=90,
+ min_length=1,
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ "workspaceManagerMemberName": _SERIALIZER.url(
+ "workspace_manager_member_name",
+ workspace_manager_member_name,
+ "str",
+ pattern=r"^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ ),
+ }
+
+ _url: str = _url.format(**path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class WorkspaceManagerMembersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.securityinsight.SecurityInsights`'s
+ :attr:`workspace_manager_members` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ orderby: Optional[str] = None,
+ top: Optional[int] = None,
+ skip_token: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.WorkspaceManagerMember"]:
+ """Gets all workspace manager members that exist for the given Sentinel workspace manager.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param orderby: Sorts the results. Optional. Default value is None.
+ :type orderby: str
+ :param top: Returns only the first n results. Optional. Default value is None.
+ :type top: int
+ :param skip_token: Skiptoken is only used if a previous operation returned a partial result. If
+ a previous response contains a nextLink element, the value of the nextLink element will include
+ a skiptoken parameter that specifies a starting point to use for subsequent calls. Optional.
+ Default value is None.
+ :type skip_token: str
+ :return: An iterator like instance of either WorkspaceManagerMember or the result of
+ cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.securityinsight.models.WorkspaceManagerMember]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerMembersList] = kwargs.pop("cls", None)
+
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ _request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ orderby=orderby,
+ top=top,
+ skip_token=skip_token,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ _request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ _request.url = self._client.format_url(_request.url)
+ _request.method = "GET"
+ return _request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceManagerMembersList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ _request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, workspace_manager_member_name: str, **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Gets a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[_models.WorkspaceManagerMember] = kwargs.pop("cls", None)
+
+ _request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerMember", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: _models.WorkspaceManagerMember,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Required.
+ :type workspace_manager_member: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: IO[bytes],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Required.
+ :type workspace_manager_member: IO[bytes]
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ workspace_manager_member_name: str,
+ workspace_manager_member: Union[_models.WorkspaceManagerMember, IO[bytes]],
+ **kwargs: Any
+ ) -> _models.WorkspaceManagerMember:
+ """Creates or updates a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :param workspace_manager_member: The workspace manager member object. Is either a
+ WorkspaceManagerMember type or a IO[bytes] type. Required.
+ :type workspace_manager_member: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember or
+ IO[bytes]
+ :return: WorkspaceManagerMember or the result of cls(response)
+ :rtype: ~azure.mgmt.securityinsight.models.WorkspaceManagerMember
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.WorkspaceManagerMember] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(workspace_manager_member, (IOBase, bytes)):
+ _content = workspace_manager_member
+ else:
+ _json = self._serialize.body(workspace_manager_member, "WorkspaceManagerMember")
+
+ _request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize("WorkspaceManagerMember", pipeline_response.http_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {}) # type: ignore
+
+ return deserialized # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, workspace_manager_member_name: str, **kwargs: Any
+ ) -> None:
+ """Deletes a workspace manager member.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: The name of the workspace. Required.
+ :type workspace_name: str
+ :param workspace_manager_member_name: The name of the workspace manager member. Required.
+ :type workspace_manager_member_name: str
+ :return: None or the result of cls(response)
+ :rtype: None
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map: MutableMapping = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ _request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ workspace_manager_member_name=workspace_manager_member_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ headers=_headers,
+ params=_params,
+ )
+ _request.url = self._client.format_url(_request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ _request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {}) # type: ignore
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_action_of_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/create_action_of_alert_rule.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_action_of_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/create_action_of_alert_rule.py
index 805f96e8a4ec..d8535a9d8f56 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_action_of_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/create_action_of_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/actions/CreateActionOfAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/actions/CreateActionOfAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_action_of_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/delete_action_of_alert_rule.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_action_of_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/delete_action_of_alert_rule.py
index 01907457a01d..cbcaab562ffb 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_action_of_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/delete_action_of_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.actions.delete(
+ client.actions.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
rule_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
action_id="912bec42-cb66-4c03-ac63-1761b6898c3e",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/actions/DeleteActionOfAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/actions/DeleteActionOfAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_action_of_alert_rule_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_action_of_alert_rule_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_action_of_alert_rule_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_action_of_alert_rule_by_id.py
index 6bf9693e038f..acfc8a1e90a1 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_action_of_alert_rule_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_action_of_alert_rule_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/actions/GetActionOfAlertRuleById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/actions/GetActionOfAlertRuleById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_actions_by_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_all_actions_by_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_actions_by_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_all_actions_by_alert_rule.py
index 71e28322c8e7..94a8aeea4c96 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_actions_by_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/actions/get_all_actions_by_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/actions/GetAllActionsByAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/actions/GetAllActionsByAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_template_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_template_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_template_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_template_by_id.py
index 1d18bbcb0164..c7c8c46f8980 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_template_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_template_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_templates.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_templates.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_templates.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_templates.py
index 4f232d8a66d2..26ac4468c389 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_alert_rule_templates.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rule_templates/get_alert_rule_templates.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule.py
similarity index 99%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule.py
index 7f4268b32cbc..d0e143bb5d85 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -174,6 +175,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/CreateFusionAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/CreateFusionAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule_with_fusion_scenario_exclusion.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule_with_fusion_scenario_exclusion.py
similarity index 99%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule_with_fusion_scenario_exclusion.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule_with_fusion_scenario_exclusion.py
index cea2c133fe51..54e36a6fa006 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_fusion_alert_rule_with_fusion_scenario_exclusion.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_fusion_alert_rule_with_fusion_scenario_exclusion.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -174,6 +175,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_microsoft_security_incident_creation_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_microsoft_security_incident_creation_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_microsoft_security_incident_creation_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_microsoft_security_incident_creation_alert_rule.py
index f1dae6d1fced..5483000e4f76 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_microsoft_security_incident_creation_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_microsoft_security_incident_creation_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -46,6 +47,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_nrt_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_nrt_alert_rule.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_nrt_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_nrt_alert_rule.py
index b52313895455..b86bf5f3de04 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_nrt_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_nrt_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -63,6 +64,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/CreateNrtAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/CreateNrtAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_scheduled_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_scheduled_alert_rule.py
similarity index 98%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_scheduled_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_scheduled_alert_rule.py
index 41f7815cc6e8..b4aa97f82fc5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_scheduled_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/create_scheduled_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -84,6 +85,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/CreateScheduledAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/CreateScheduledAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/delete_alert_rule.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/delete_alert_rule.py
index e8eccd69f4ac..4657df1e3ff6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/delete_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.alert_rules.delete(
+ client.alert_rules.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
rule_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/DeleteAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/DeleteAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_alert_rules.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_all_alert_rules.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_alert_rules.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_all_alert_rules.py
index 6bfe39da69fe..5c733cf936d8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_alert_rules.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_all_alert_rules.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/GetAllAlertRules.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/GetAllAlertRules.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_fusion_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_fusion_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_fusion_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_fusion_alert_rule.py
index 20bbac08277f..5ca21752d099 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_fusion_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_fusion_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/GetFusionAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/GetFusionAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_security_incident_creation_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_microsoft_security_incident_creation_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_security_incident_creation_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_microsoft_security_incident_creation_alert_rule.py
index fd1493e29bb6..2abc84ed614d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_security_incident_creation_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_microsoft_security_incident_creation_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_nrt_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_nrt_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_nrt_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_nrt_alert_rule.py
index e3ffcd9605df..5cb7814dbda3 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_nrt_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_nrt_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/GetNrtAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/GetNrtAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_scheduled_alert_rule.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_scheduled_alert_rule.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_scheduled_alert_rule.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_scheduled_alert_rule.py
index fe0d97781a54..f63e4757b721 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_scheduled_alert_rule.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/alert_rules/get_scheduled_alert_rule.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/alertRules/GetScheduledAlertRule.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/alertRules/GetScheduledAlertRule.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_create_or_update.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_create_or_update.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_create_or_update.py
index 41e25ad33c82..3f865a479618 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_create_or_update.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_create_or_update.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_delete.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_delete.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_delete.py
index 5425a32f6ccd..7f67124d9638 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_delete.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_delete.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/automationRules/AutomationRules_Delete.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/automationRules/AutomationRules_Delete.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_get.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_get.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_get.py
index 56075cbd2de2..f56c54188cd7 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_get.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_get.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/automationRules/AutomationRules_Get.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/automationRules/AutomationRules_Get.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_list.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_list.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_list.py
index 5916a50c7a2a..062eb6d8091d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules_list.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/automation_rules/automation_rules_list.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/automationRules/AutomationRules_List.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/automationRules/AutomationRules_List.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_all_billing_statistics.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_all_billing_statistics.py
new file mode 100644
index 000000000000..bbff3ad8776f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_all_billing_statistics.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_billing_statistics.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.billing_statistics.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/billingStatistics/GetAllBillingStatistics.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_team.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_billing_statistic.py
similarity index 75%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_team.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_billing_statistic.py
index 6f3462eb2a73..b99e21858648 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_team.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/billing_statistics/get_billing_statistic.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -14,7 +15,7 @@
pip install azure-identity
pip install azure-mgmt-securityinsight
# USAGE
- python incidents_create_team.py
+ python get_billing_statistic.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@@ -29,20 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.incidents.create_team(
+ response = client.billing_statistics.get(
resource_group_name="myRg",
workspace_name="myWorkspace",
- incident_id="69a30280-6a4c-4aa7-9af0-5d63f335d600",
- team_properties={
- "groupIds": None,
- "memberIds": None,
- "teamDescription": "Team description",
- "teamName": "Team name",
- },
+ billing_statistic_name="sapSolutionUsage",
)
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentTeam/Incidents_CreateTeam.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/billingStatistics/GetBillingStatistic.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/create_bookmark.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/create_bookmark.py
index 44e578eca8d0..4695585d3242 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/create_bookmark.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -59,6 +60,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/CreateBookmark.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/CreateBookmark.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/delete_bookmark.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/delete_bookmark.py
index 5f63071b1758..3d8ef3490605 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/delete_bookmark.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.bookmarks.delete(
+ client.bookmarks.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
bookmark_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/DeleteBookmark.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/DeleteBookmark.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_bookmark.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/expand/post_expand_bookmark.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_bookmark.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/expand/post_expand_bookmark.py
index 49329bae179a..f8cfa397c96c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_bookmark.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/expand/post_expand_bookmark.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -42,6 +43,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/expand/PostExpandBookmark.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/expand/PostExpandBookmark.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmark_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmark_by_id.py
index 8e87468ceb1e..3a397bfad6ca 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmark_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/GetBookmarkById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/GetBookmarkById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmarks.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmarks.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmarks.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmarks.py
index 3bfe6238bf16..73e5c332978d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmarks.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/get_bookmarks.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/GetBookmarks.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/GetBookmarks.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/create_bookmark_relation.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark_relation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/create_bookmark_relation.py
index fa4c8433745e..27f60bd6ac87 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_bookmark_relation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/create_bookmark_relation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -43,6 +44,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/delete_bookmark_relation.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark_relation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/delete_bookmark_relation.py
index 940f286c435e..d1b1ee12d387 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_bookmark_relation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/delete_bookmark_relation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.bookmark_relations.delete(
+ client.bookmark_relations.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
bookmark_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
relation_name="4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_bookmark_relations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_all_bookmark_relations.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_bookmark_relations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_all_bookmark_relations.py
index dd257f859112..afe1270af42f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_bookmark_relations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_all_bookmark_relations.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_relation_by_name.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_bookmark_relation_by_name.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_relation_by_name.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_bookmark_relation_by_name.py
index 7426af196f31..8154624bbde8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_bookmark_relation_by_name.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/bookmarks/relations/get_bookmark_relation_by_name.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/list_actions.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/list_actions.py
new file mode 100644
index 000000000000..a18fcf78ab8c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/list_actions.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python list_actions.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.systems.list_actions(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="247b377a-7137-4b3c-bf15-df1d3260ef1b",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/actions/ListActions.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/report_action_status.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/report_action_status.py
new file mode 100644
index 000000000000..a228cd0a5c89
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/report_action_status.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python report_action_status.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.systems.report_action_status(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="247b377a-7137-4b3c-bf15-df1d3260ef1b",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/actions/ReportActionStatus.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/undo_action.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/undo_action.py
new file mode 100644
index 000000000000..c35e1f52dd59
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/actions/undo_action.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python undo_action.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.systems.undo_action(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="247b377a-7137-4b3c-bf15-df1d3260ef1b",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/actions/UndoAction.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agent_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agent_get.py
new file mode 100644
index 000000000000..f47298985d4b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agent_get.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python business_application_agent_get.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.business_application_agent.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/BusinessApplicationAgent_Get.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_create_or_update.py
new file mode 100644
index 000000000000..b94ec3ab5b11
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_create_or_update.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python business_application_agents_create_or_update.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.business_application_agents.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/BusinessApplicationAgents_CreateOrUpdate.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_delete.py
new file mode 100644
index 000000000000..694967922d0e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_delete.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python business_application_agents_delete.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.business_application_agents.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/BusinessApplicationAgents_Delete.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_list.py
new file mode 100644
index 000000000000..1f479c0d5583
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/business_application_agents_list.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python business_application_agents_list.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.business_application_agents.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/BusinessApplicationAgents_List.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_create_or_update.py
new file mode 100644
index 000000000000..399e1bd81aad
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_create_or_update.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python systems_create_or_update.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.systems.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3123432b-0b60-4af3-8720-77f01a25d34a",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/systems/Systems_CreateOrUpdate.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_delete.py
new file mode 100644
index 000000000000..080883bd839f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_delete.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python systems_delete.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.systems.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3123432b-0b60-4af3-8720-77f01a25d34a",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/systems/Systems_Delete.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_get.py
new file mode 100644
index 000000000000..e0098361a6d4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_get.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python systems_get.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.systems.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3123432b-0b60-4af3-8720-77f01a25d34a",
+ system_resource_name="3d69632b-0b60-4af3-8720-77f01a25d34a",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/systems/Systems_Get.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_list.py
new file mode 100644
index 000000000000..d01631cf0d67
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/business_application_agents/systems/systems_list.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python systems_list.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.systems.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ agent_resource_name="3123432b-0b60-4af3-8720-77f01a25d34a",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/businessApplicationAgents/systems/Systems_List.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_package_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_package_by_id.py
new file mode 100644
index 000000000000..e747782afebe
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_package_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_package_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_packages.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ package_id="str.azure-sentinel-solution-str",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/GetPackageById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_packages.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_packages.py
new file mode 100644
index 000000000000..041489800ef7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_packages.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_packages.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_packages.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/GetPackages.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_package_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_package_by_id.py
new file mode 100644
index 000000000000..b7ebeb862ecb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_package_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_product_package_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.product_package.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ package_id="str.azure-sentinel-solution-str",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/GetProductPackageById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_packages.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_packages.py
new file mode 100644
index 000000000000..6cad0af5465a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/get_product_packages.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_product_packages.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.product_packages.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/GetProductPackages.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/install_package.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/install_package.py
new file mode 100644
index 000000000000..d34582ce3fde
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/install_package.py
@@ -0,0 +1,53 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python install_package.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_package.install(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ package_id="str.azure-sentinel-solution-str",
+ package_installation_properties={
+ "properties": {
+ "contentId": "str.azure-sentinel-solution-str",
+ "contentKind": "Solution",
+ "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu",
+ "displayName": "str",
+ "version": "2.0.0",
+ },
+ "tags": {"tag1": "str"},
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/InstallPackage.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/uninstall_package.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/uninstall_package.py
new file mode 100644
index 000000000000..dc7839e41885
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_packages/uninstall_package.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python uninstall_package.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ client.content_package.uninstall(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ package_id="str.azure-sentinel-solution-str",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentPackages/UninstallPackage.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/delete_template.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/delete_template.py
new file mode 100644
index 000000000000..1e648ec7b009
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/delete_template.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_template.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ client.content_template.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ template_id="8365ebfe-a381-45b7-ad08-7d818070e11f",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/DeleteTemplate.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_template_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_template_by_id.py
new file mode 100644
index 000000000000..b0fca9ff3e83
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_template_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_product_template_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.product_template.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ template_id="8365ebfe-a381-45b7-ad08-7d818070e11f",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/GetProductTemplateById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_templates.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_templates.py
new file mode 100644
index 000000000000..250106b7ab94
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_product_templates.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_product_templates.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.product_templates.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/GetProductTemplates.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_template_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_template_by_id.py
new file mode 100644
index 000000000000..d15744811ce3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_template_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_template_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_template.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ template_id="8365ebfe-a381-45b7-ad08-7d818070e11f",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/GetTemplateById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_templates.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_templates.py
new file mode 100644
index 000000000000..0b60e0b65252
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/get_templates.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_templates.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_templates.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/GetTemplates.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/install_template.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/install_template.py
new file mode 100644
index 000000000000..036955544839
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/content_templates/install_template.py
@@ -0,0 +1,116 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python install_template.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfeab2-9ae0-4464-9919-dccaee2e48f0",
+ )
+
+ response = client.content_template.install(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ template_id="str.azure-sentinel-solution-str",
+ template_installation_properties={
+ "properties": {
+ "author": {"email": "support@microsoft.com", "name": "Microsoft"},
+ "contentId": "8365ebfe-a381-45b7-ad08-7d818070e11f",
+ "contentKind": "AnalyticsRule",
+ "contentProductId": "str.azure-sentinel-solution-str-ar-cbfe4fndz66bi",
+ "displayName": "API Protection workbook template",
+ "mainTemplate": {
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.1",
+ "resources": [
+ {
+ "apiVersion": "2022-04-01-preview",
+ "kind": "Scheduled",
+ "location": "[parameters('workspace-location')]",
+ "name": "8365ebfe-a381-45b7-ad08-7d818070e11f",
+ "properties": {
+ "description": "Creates an incident when a large number of Critical/High severity CrowdStrike Falcon sensor detections is triggered by a single user",
+ "displayName": "Critical or High Severity Detections by User",
+ "enabled": False,
+ "query": "...",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "PT1H",
+ "severity": "High",
+ "status": "Available",
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": False,
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ },
+ "type": "Microsoft.SecurityInsights/AlertRuleTemplates",
+ },
+ {
+ "apiVersion": "2022-01-01-preview",
+ "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('AnalyticsRule-', last(split([resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', 8365ebfe-a381-45b7-ad08-7d818070e11f)],'/'))))]",
+ "properties": {
+ "author": {"email": "support@microsoft.com", "name": "Microsoft"},
+ "contentId": "4465ebde-b381-45f7-ad08-7d818070a11c",
+ "description": "CrowdStrike Falcon Endpoint Protection Analytics Rule 1",
+ "kind": "AnalyticsRule",
+ "parentId": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', 8365ebfe-a381-45b7-ad08-7d818070e11f)]",
+ "source": {
+ "kind": "Solution",
+ "name": "str",
+ "sourceId": "str.azure-sentinel-solution-str",
+ },
+ "support": {
+ "email": "support@microsoft.com",
+ "link": "https://support.microsoft.com/",
+ "name": "Microsoft Corporation",
+ "tier": "Microsoft",
+ },
+ "version": "1.0.0",
+ },
+ "type": "Microsoft.OperationalInsights/workspaces/providers/metadata",
+ },
+ ],
+ },
+ "packageId": "str.azure-sentinel-solution-str",
+ "packageKind": "Solution",
+ "packageName": "str",
+ "packageVersion": "1.0.0",
+ "source": {"kind": "Solution", "name": "str", "sourceId": "str.azure-sentinel-solution-str"},
+ "support": {
+ "email": "support@microsoft.com",
+ "link": "https://support.microsoft.com/",
+ "name": "Microsoft Corporation",
+ "tier": "Microsoft",
+ },
+ "version": "1.0.1",
+ },
+ "tags": {"tag1": "str"},
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/contentTemplates/InstallTemplate.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/create_customizable_data_connector_definition.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/create_customizable_data_connector_definition.py
new file mode 100644
index 000000000000..1fced775b1e9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/create_customizable_data_connector_definition.py
@@ -0,0 +1,110 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_customizable_data_connector_definition.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connector_definitions.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_definition_name="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ connector_definition_input={
+ "etag": '"0300bf09-0000-0000-0000-5c37296e0000"',
+ "kind": "Customizable",
+ "properties": {
+ "connectorUiConfig": {
+ "availability": {"isPreview": False, "status": 1},
+ "connectivityCriteria": [
+ {
+ "type": "IsConnectedQuery",
+ "value": [
+ "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)"
+ ],
+ }
+ ],
+ "dataTypes": [
+ {
+ "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)",
+ "name": "GitHubAuditLogPolling_CL",
+ }
+ ],
+ "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.",
+ "graphQueries": [
+ {
+ "baseQuery": "GitHubAuditLogPolling_CL",
+ "legend": "GitHub audit log events",
+ "metricName": "Total events received",
+ }
+ ],
+ "instructionSteps": [
+ {
+ "description": "Enable GitHub audit Logs. \n Follow `this `_ to create or find your personal key",
+ "instructions": [
+ {
+ "parameters": {
+ "clientIdLabel": "Client ID",
+ "clientSecretLabel": "Client Secret",
+ "connectButtonLabel": "Connect",
+ "disconnectButtonLabel": "Disconnect",
+ },
+ "type": "OAuthForm",
+ }
+ ],
+ "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel",
+ }
+ ],
+ "permissions": {
+ "customs": [
+ {
+ "description": "You need access to GitHub personal token, the key should have 'admin:org' scope",
+ "name": "GitHub API personal token Key",
+ }
+ ],
+ "resourceProvider": [
+ {
+ "permissionsDisplayText": "read and write permissions are required.",
+ "provider": "Microsoft.OperationalInsights/workspaces",
+ "providerDisplayName": "Workspace",
+ "requiredPermissions": {"action": False, "delete": False, "read": False, "write": True},
+ "scope": "Workspace",
+ }
+ ],
+ },
+ "publisher": "GitHub",
+ "title": "GitHub Enterprise Audit Log",
+ }
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectorDefinitions/CreateCustomizableDataConnectorDefinition.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/delete_data_connector_definition_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/delete_data_connector_definition_by_id.py
new file mode 100644
index 000000000000..9ecdb9bf7861
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/delete_data_connector_definition_by_id.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_data_connector_definition_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.data_connector_definitions.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_definition_name="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectorDefinitions/DeleteDataConnectorDefinitionById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_customizable_data_connector_definition_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_customizable_data_connector_definition_by_id.py
new file mode 100644
index 000000000000..a7783dd9ff2f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_customizable_data_connector_definition_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_customizable_data_connector_definition_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connector_definitions.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_definition_name="763f9fa1-c2d3-4fa2-93e9-bccd4899aa12",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectorDefinitions/GetCustomizableDataConnectorDefinitionById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_data_connector_definitions.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_data_connector_definitions.py
new file mode 100644
index 000000000000..c666ec9cbf3b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connector_definitions/get_data_connector_definitions.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_data_connector_definitions.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connector_definitions.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectorDefinitions/GetDataConnectorDefinitions.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling.py
similarity index 93%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling.py
index 2a05669c46df..58993f2e7080 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,7 +30,7 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.connect(
+ client.data_connectors.connect(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="316ec55e-7138-4d63-ab18-90c8a60fd1c8",
@@ -46,9 +47,8 @@ def main():
],
},
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/ConnectAPIPolling.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/ConnectAPIPolling.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling_v2_logs.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling_v2_logs.py
similarity index 94%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling_v2_logs.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling_v2_logs.py
index f63f252194af..f76a923c2113 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/connect_api_polling_v2_logs.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/connect_api_polling_v2_logs.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,7 +30,7 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.connect(
+ client.data_connectors.connect(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="316ec55e-7138-4d63-ab18-90c8a60fd1c8",
@@ -49,9 +50,8 @@ def main():
],
},
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/ConnectAPIPollingV2Logs.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/ConnectAPIPollingV2Logs.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_api_polling.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_api_polling.py
similarity index 99%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_api_polling.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_api_polling.py
index ceceb21be0af..fb0a2e05b367 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_api_polling.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_api_polling.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -121,6 +122,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateAPIPolling.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateAPIPolling.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_dynamics365_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_dynamics365_data_connetor.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_dynamics365_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_dynamics365_data_connetor.py
index 14c0e141de06..613883f353d2 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_dynamics365_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_dynamics365_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_generic_ui.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_generic_ui.py
similarity index 99%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_generic_ui.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_generic_ui.py
index b28a4a25f666..1d5bb218b729 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_generic_ui.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_generic_ui.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -156,6 +157,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateGenericUI.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateGenericUI.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_google_cloud_platform.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_google_cloud_platform.py
new file mode 100644
index 000000000000..65d9924be354
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_google_cloud_platform.py
@@ -0,0 +1,61 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_google_cloud_platform.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1",
+ data_connector={
+ "kind": "GCP",
+ "properties": {
+ "auth": {
+ "projectNumber": "123456789012",
+ "serviceAccountEmail": "sentinel-service-account@project-id.iam.gserviceaccount.com",
+ "type": "GCP",
+ "workloadIdentityProviderId": "sentinel-identity-provider",
+ },
+ "connectorDefinitionName": "GcpConnector",
+ "dcrConfig": {
+ "dataCollectionEndpoint": "https://microsoft-sentinel-datacollectionendpoint-123m.westeurope-1.ingest.monitor.azure.com",
+ "dataCollectionRuleImmutableId": "dcr-de21b053bd5a44beb99a256c9db85023",
+ "streamName": "SENTINEL_GCP_AUDIT_LOGS",
+ },
+ "request": {"projectId": "project-id", "subscriptionNames": ["sentinel-subscription"]},
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateGoogleCloudPlatform.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_purview_information_protection_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_purview_information_protection_data_connetor.py
new file mode 100644
index 000000000000..231f4efdb1b1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_purview_information_protection_data_connetor.py
@@ -0,0 +1,51 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_microsoft_purview_information_protection_data_connetor.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ data_connector={
+ "etag": '"0300bf09-0000-0000-0000-5c37296e0000"',
+ "kind": "MicrosoftPurviewInformationProtection",
+ "properties": {
+ "dataTypes": {"logs": {"state": "Enabled"}},
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateMicrosoftPurviewInformationProtectionDataConnetor.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_intelligence_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_intelligence_data_connector.py
new file mode 100644
index 000000000000..a7b7a4f69fbb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_intelligence_data_connector.py
@@ -0,0 +1,52 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_microsoft_threat_intelligence_data_connector.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="c345bf40-8509-4ed2-b947-50cb773aaf04",
+ data_connector={
+ "kind": "MicrosoftThreatIntelligence",
+ "properties": {
+ "dataTypes": {
+ "microsoftEmergingThreatFeed": {"lookbackPeriod": "1970-01-01T00:00:00.000Z", "state": "Enabled"}
+ },
+ "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b",
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateMicrosoftThreatIntelligenceDataConnector.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_protection_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_protection_data_connetor.py
new file mode 100644
index 000000000000..3902af4d7438
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_microsoft_threat_protection_data_connetor.py
@@ -0,0 +1,52 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_microsoft_threat_protection_data_connetor.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ data_connector={
+ "etag": '"0300bf09-0000-0000-0000-5c37296e0000"',
+ "kind": "MicrosoftThreatProtection",
+ "properties": {
+ "dataTypes": {"alerts": {"state": "Enabled"}, "incidents": {"state": "Disabled"}},
+ "filteredProviders": {"alerts": ["microsoftDefenderForCloudApps"]},
+ "tenantId": "178265c4-3136-4ff6-8ed1-b5b62b4cb5f5",
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateMicrosoftThreatProtectionDataConnetor.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office365_project_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office365_project_data_connetor.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office365_project_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office365_project_data_connetor.py
index 17400d2e0bbe..e398029ff08b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office365_project_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office365_project_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_data_connetor.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_data_connetor.py
index e64dbac15d70..d0ee5550a899 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -49,6 +50,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_power_bi_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_power_bi_data_connector.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_power_bi_data_connector.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_power_bi_data_connector.py
index c2c0e69ee1c2..680069d67509 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_office_power_bi_data_connector.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_office_power_bi_data_connector.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_purview_audit_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_purview_audit_data_connector.py
new file mode 100644
index 000000000000..6d7f34089541
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_purview_audit_data_connector.py
@@ -0,0 +1,58 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_purview_audit_data_connector.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ data_connector={
+ "etag": '"0300bf09-0000-0000-0000-5c37296e0000"',
+ "kind": "PurviewAudit",
+ "properties": {
+ "connectorDefinitionName": "PowerAutomate",
+ "dataTypes": {"logs": {"state": "Enabled"}},
+ "dcrConfig": {
+ "dataCollectionEndpoint": "https://microsoft-sentinel-datacollectionendpoint-123m.westeurope-1.ingest.monitor.azure.com",
+ "dataCollectionRuleImmutableId": "dcr-de21b053bd5a44beb99a256c9db85023",
+ "streamName": "OFFICEPOWERAUTOMATE_RESTAPI",
+ },
+ "sourceType": "MicrosoftFlow",
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ },
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreatePurviewAuditDataConnector.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_data_connector.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_data_connector.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_data_connector.py
index e58c78df5816..a104cdee6796 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_data_connector.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_data_connector.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_taxii_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_taxii_data_connector.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_taxii_data_connector.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_taxii_data_connector.py
index 1b4a4587c163..4d741315d2a8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_threat_intelligence_taxii_data_connector.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/create_threat_intelligence_taxii_data_connector.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -53,6 +54,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_api_polling.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_api_polling.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_api_polling.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_api_polling.py
index 49864982ae30..6cebf7a17e44 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_api_polling.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_api_polling.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.delete(
+ client.data_connectors.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="316ec55e-7138-4d63-ab18-90c8a60fd1c8",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DeleteAPIPolling.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteAPIPolling.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_generic_ui.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_generic_ui.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_generic_ui.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_generic_ui.py
index b73a6e33886e..5f7713dd58b8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_generic_ui.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_generic_ui.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.delete(
+ client.data_connectors.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="316ec55e-7138-4d63-ab18-90c8a60fd1c8",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DeleteGenericUI.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteGenericUI.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_google_cloud_platform.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_google_cloud_platform.py
new file mode 100644
index 000000000000..e31f46901f8c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_google_cloud_platform.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_google_cloud_platform.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.data_connectors.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteGoogleCloudPlatform.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_purview_information_protection_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_purview_information_protection_data_connetor.py
new file mode 100644
index 000000000000..8759c9af9c8a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_purview_information_protection_data_connetor.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_microsoft_purview_information_protection_data_connetor.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.data_connectors.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteMicrosoftPurviewInformationProtectionDataConnetor.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_threat_intelligence_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_threat_intelligence_data_connector.py
new file mode 100644
index 000000000000..261671473b08
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_microsoft_threat_intelligence_data_connector.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_microsoft_threat_intelligence_data_connector.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.data_connectors.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="c345bf40-8509-4ed2-b947-50cb773aaf04",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteMicrosoftThreatIntelligenceDataConnector.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office365_project_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office365_project_data_connetor.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office365_project_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office365_project_data_connetor.py
index 8b565c226eb2..bda6d666b24c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office365_project_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office365_project_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.delete(
+ client.data_connectors.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_data_connetor.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_data_connetor.py
index ea1346bce56e..18df18a6068a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.delete(
+ client.data_connectors.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_power_bi_data_connetor.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_power_bi_data_connetor.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_power_bi_data_connetor.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_power_bi_data_connetor.py
index 9e48c8e08851..507ba2db9fd1 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_power_bi_data_connetor.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_office_power_bi_data_connetor.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.delete(
+ client.data_connectors.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_purview_audit_data_connector.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_purview_audit_data_connector.py
new file mode 100644
index 000000000000..f7d39bb3731f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/delete_purview_audit_data_connector.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_purview_audit_data_connector.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.data_connectors.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DeletePurviewAuditDataConnector.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/disconnect_api_polling.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/disconnect_api_polling.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/disconnect_api_polling.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/disconnect_api_polling.py
index 86acefb3218e..3f31842e1554 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/disconnect_api_polling.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/disconnect_api_polling.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.data_connectors.disconnect(
+ client.data_connectors.disconnect(
resource_group_name="myRg",
workspace_name="myWorkspace",
data_connector_id="316ec55e-7138-4d63-ab18-90c8a60fd1c8",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/DisconnectAPIPolling.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/DisconnectAPIPolling.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_cloud_trail_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_cloud_trail_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_cloud_trail_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_cloud_trail_by_id.py
index 763052e052f7..8de3609da97f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_cloud_trail_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_cloud_trail_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_s3_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_s3_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_s3_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_s3_by_id.py
index 6738b3b06f21..143e04e15cb9 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_amazon_web_services_s3_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_amazon_web_services_s3_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_api_polling.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_api_polling.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_api_polling.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_api_polling.py
index e36510675dde..c3f104fe33ca 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_api_polling.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_api_polling.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAPIPolling.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAPIPolling.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_active_directory_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_active_directory_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_active_directory_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_active_directory_by_id.py
index 6fce52a1fd6c..e1f70c3895e3 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_active_directory_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_active_directory_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_advanced_threat_protection_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_advanced_threat_protection_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_advanced_threat_protection_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_advanced_threat_protection_by_id.py
index b6d603f21861..f5d5e9fcc7e3 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_advanced_threat_protection_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_advanced_threat_protection_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_security_center_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_security_center_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_security_center_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_security_center_by_id.py
index efd0ea37571e..23a20fdcfbe8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_security_center_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_azure_security_center_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_data_connectors.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_data_connectors.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_data_connectors.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_data_connectors.py
index 3427dc2447ff..9590fcc7e90f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_data_connectors.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_data_connectors.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetDataConnectors.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetDataConnectors.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dynamics365_data_connector_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_dynamics365_data_connector_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dynamics365_data_connector_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_dynamics365_data_connector_by_id.py
index 7b5578864e8a..35df73565a76 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dynamics365_data_connector_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_dynamics365_data_connector_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_generic_ui.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_generic_ui.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_generic_ui.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_generic_ui.py
index 3d93903adcd8..c99fe30b2300 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_generic_ui.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_generic_ui.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetGenericUI.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetGenericUI.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_google_cloud_platform_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_google_cloud_platform_by_id.py
new file mode 100644
index 000000000000..d6f740ae3117
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_google_cloud_platform_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_google_cloud_platform_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetGoogleCloudPlatformById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tby_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_io_tby_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tby_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_io_tby_id.py
index 2862942122ce..6673aaef8706 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tby_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_io_tby_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetIoTById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetIoTById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_cloud_app_security_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_cloud_app_security_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_cloud_app_security_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_cloud_app_security_by_id.py
index 31c5ac11df7d..ebaa3b1b0ebc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_cloud_app_security_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_cloud_app_security_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_defender_advanced_threat_protection_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_defender_advanced_threat_protection_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_defender_advanced_threat_protection_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_defender_advanced_threat_protection_by_id.py
index b1d6154e90aa..81dd35837bfa 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_defender_advanced_threat_protection_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_defender_advanced_threat_protection_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_insider_risk_management_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_insider_risk_management_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_insider_risk_management_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_insider_risk_management_by_id.py
index 51ae83893b7d..5e18c806ca92 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_insider_risk_management_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_insider_risk_management_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_purview_information_protection_data_connetor_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_purview_information_protection_data_connetor_by_id.py
new file mode 100644
index 000000000000..ac8f924c8385
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_purview_information_protection_data_connetor_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_microsoft_purview_information_protection_data_connetor_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftPurviewInformationProtectionDataConnetorById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_intelligence_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_intelligence_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_intelligence_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_intelligence_by_id.py
index 404e3265f958..8fb7e4db890c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_intelligence_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_intelligence_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_protection_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_protection_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_protection_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_protection_by_id.py
index d97c5ff04218..595cf59a3c10 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_microsoft_threat_protection_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_microsoft_threat_protection_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_advanced_threat_protection_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_advanced_threat_protection_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_advanced_threat_protection_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_advanced_threat_protection_by_id.py
index ce52eaf4847f..edd6a86b22d0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_advanced_threat_protection_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_advanced_threat_protection_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_project_data_connetor_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_project_data_connetor_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_project_data_connetor_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_project_data_connetor_by_id.py
index 5486268cc6f0..9470573163e0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office365_project_data_connetor_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office365_project_data_connetor_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_data_connetor_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_data_connetor_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_data_connetor_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_data_connetor_by_id.py
index 0a4e4319b4f7..e8ab7bba81fc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_data_connetor_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_data_connetor_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_power_bi_data_connetor_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_power_bi_data_connetor_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_power_bi_data_connetor_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_power_bi_data_connetor_by_id.py
index 6136caf31c43..cc4eb038443f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_power_bi_data_connetor_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_office_power_bi_data_connetor_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_purview_audit_data_connector_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_purview_audit_data_connector_by_id.py
new file mode 100644
index 000000000000..bdc811d918e4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_purview_audit_data_connector_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_purview_audit_data_connector_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetPurviewAuditDataConnectorById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_rest_api_poller_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_rest_api_poller_by_id.py
new file mode 100644
index 000000000000..ce1a85169e40
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_rest_api_poller_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_rest_api_poller_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="RestApiPoller_fce27b90-d6f5-4d30-991a-af509a2b50a1",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetRestApiPollerById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_by_id.py
new file mode 100644
index 000000000000..ff4909b1dadf
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_threat_intelligence_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.data_connectors.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ data_connector_id="c345bf40-8509-4ed2-b947-50cb773aaf04",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_taxii_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_taxii_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_taxii_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_taxii_by_id.py
index 52cb79c118e1..a95eacc6e8db 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_taxii_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/data_connectors/get_threat_intelligence_taxii_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_geodata_with_workspace_by_ip.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_geodata_with_workspace_by_ip.py
new file mode 100644
index 000000000000..1bc054fd9d4e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_geodata_with_workspace_by_ip.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_geodata_with_workspace_by_ip.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.list_geodata_by_ip(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ enrichment_type="main",
+ ip_address_body={"ipAddress": "1.2.3.4"},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/enrichment/GetGeodataWithWorkspaceByIp.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_whois_with_workspace_by_domain_name.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_whois_with_workspace_by_domain_name.py
new file mode 100644
index 000000000000..aa019381c502
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/enrichment/get_whois_with_workspace_by_domain_name.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_whois_with_workspace_by_domain_name.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.list_whois_by_domain(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ enrichment_type="main",
+ domain_body={"domain": "microsoft.com"},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/enrichment/GetWhoisWithWorkspaceByDomainName.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_entity.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/expand/post_expand_entity.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_entity.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/expand/post_expand_entity.py
index 6419a34d794d..a8e8d247d9fc 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_expand_entity.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/expand/post_expand_entity.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -42,6 +43,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/expand/PostExpandEntity.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/expand/PostExpandEntity.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_account_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_account_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_account_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_account_entity_by_id.py
index 4cdf7445de26..69cbb8627590 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_account_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_account_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetAccountEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetAccountEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_resource_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_azure_resource_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_resource_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_azure_resource_entity_by_id.py
index b050cca4c7c5..29fd4d860b7a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_azure_resource_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_azure_resource_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetAzureResourceEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetAzureResourceEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_cloud_application_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_cloud_application_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_cloud_application_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_cloud_application_entity_by_id.py
index 6f0e16b2e736..68dd7e69966b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_cloud_application_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_cloud_application_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetCloudApplicationEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetCloudApplicationEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dns_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_dns_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dns_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_dns_entity_by_id.py
index d12e56266b46..1f255c236748 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_dns_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_dns_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetDnsEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetDnsEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entities.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_entities.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entities.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_entities.py
index 7497dda7be87..49bb7e56e948 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entities.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_entities.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetEntities.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetEntities.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_entity_by_id.py
index 91f2d212d0ef..112be71cdd5f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetFileEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetFileEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_hash_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_hash_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_hash_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_hash_entity_by_id.py
index e3191f6d250b..0c094be6d6f6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_hash_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_file_hash_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetFileHashEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetFileHashEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_host_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_host_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_host_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_host_entity_by_id.py
index da73796bf50e..bdc5c7430b12 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_host_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_host_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetHostEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetHostEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tdevice_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_io_tdevice_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tdevice_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_io_tdevice_entity_by_id.py
index eb492445a610..ebdefacc9dab 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_io_tdevice_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_io_tdevice_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetIoTDeviceEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetIoTDeviceEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_ip_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_ip_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_ip_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_ip_entity_by_id.py
index 0df0f6826bed..5134234bb7de 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_ip_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_ip_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetIpEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetIpEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_cluster_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_cluster_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_cluster_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_cluster_entity_by_id.py
index f43526065efd..707def4fb980 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_cluster_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_cluster_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetMailClusterEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetMailClusterEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_message_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_message_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_message_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_message_entity_by_id.py
index 5d9c55a18e9f..b87ab797c2ba 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mail_message_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mail_message_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetMailMessageEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetMailMessageEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mailbox_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mailbox_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mailbox_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mailbox_entity_by_id.py
index ab443b71cfd7..be0124a0ce0d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_mailbox_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_mailbox_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetMailboxEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetMailboxEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_malware_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_malware_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_malware_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_malware_entity_by_id.py
index 5c8a14d51428..1c47c2b9b9f4 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_malware_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_malware_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetMalwareEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetMalwareEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_process_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_process_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_process_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_process_entity_by_id.py
index f00cd0a7d744..696f678977af 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_process_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_process_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetProcessEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetProcessEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_queries.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_queries.py
similarity index 93%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_queries.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_queries.py
index eb816400aa67..e29a2ccb6054 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_queries.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_queries.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -35,9 +36,10 @@ def main():
entity_id="e1d3d618-e11f-478b-98e3-bb381539a8e1",
kind="Insight",
)
- print(response)
+ for item in response:
+ print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetQueries.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetQueries.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_key_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_key_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_key_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_key_entity_by_id.py
index cb4e42df61ca..6d698fe4bd32 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_key_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_key_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetRegistryKeyEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetRegistryKeyEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_value_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_value_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_value_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_value_entity_by_id.py
index 5081e924eae9..0838043a4931 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_registry_value_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_registry_value_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetRegistryValueEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetRegistryValueEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_alert_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_alert_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_alert_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_alert_entity_by_id.py
index d97f34e82268..85e6bd5ef16f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_alert_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_alert_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetSecurityAlertEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetSecurityAlertEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_group_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_group_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_group_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_group_entity_by_id.py
index 4dbc57ea7730..8cbb12fc584a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_security_group_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_security_group_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetSecurityGroupEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetSecurityGroupEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_submission_mail_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_submission_mail_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_submission_mail_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_submission_mail_entity_by_id.py
index 3ee652535e57..43786cad0e87 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_submission_mail_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_submission_mail_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetSubmissionMailEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetSubmissionMailEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_url_entity_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_url_entity_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_url_entity_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_url_entity_by_id.py
index fb4d819a677e..c83681152869 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_url_entity_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/get_url_entity_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/GetUrlEntityById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/GetUrlEntityById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_get_insights.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/insights/post_get_insights.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_get_insights.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/insights/post_get_insights.py
index 4e210c82efb3..c7aae3060ce0 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_get_insights.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/insights/post_get_insights.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -43,6 +44,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/insights/PostGetInsights.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/insights/PostGetInsights.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_entity_relations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_all_entity_relations.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_entity_relations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_all_entity_relations.py
index 292751766fbf..5a9e15e71e68 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_entity_relations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_all_entity_relations.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/relations/GetAllEntityRelations.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/relations/GetAllEntityRelations.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_relation_by_name.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_entity_relation_by_name.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_relation_by_name.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_entity_relation_by_name.py
index 9f6da60a51c1..b5ff31471d5e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_relation_by_name.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/relations/get_entity_relation_by_name.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/relations/GetEntityRelationByName.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/relations/GetEntityRelationByName.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_timeline_entity.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/timeline/post_timeline_entity.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_timeline_entity.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/timeline/post_timeline_entity.py
index 8d224b26250a..33c5170dd222 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/post_timeline_entity.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entities/timeline/post_timeline_entity.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -42,6 +43,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entities/timeline/PostTimelineEntity.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entities/timeline/PostTimelineEntity.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_entity_query_activity.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/create_entity_query_activity.py
similarity index 98%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_entity_query_activity.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/create_entity_query_activity.py
index 0d31fbd40726..4c65851e313b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_entity_query_activity.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/create_entity_query_activity.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -59,6 +60,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueries/CreateEntityQueryActivity.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueries/CreateEntityQueryActivity.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_entity_query.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/delete_entity_query.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_entity_query.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/delete_entity_query.py
index a65893898988..0719925989a8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_entity_query.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/delete_entity_query.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.entity_queries.delete(
+ client.entity_queries.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
entity_query_id="07da3cc8-c8ad-4710-a44e-334cdcb7882b",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueries/DeleteEntityQuery.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueries/DeleteEntityQuery.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_activity_entity_query_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_activity_entity_query_by_id.py
index 627d89dee6b5..41cf6a32475c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_activity_entity_query_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueries/GetActivityEntityQueryById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueries/GetActivityEntityQueryById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_queries.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_entity_queries.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_queries.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_entity_queries.py
index 8cee24ba1398..89f37a7ef59a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_queries.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_entity_queries.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueries/GetEntityQueries.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueries/GetEntityQueries.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_expansion_entity_query_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_expansion_entity_query_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_expansion_entity_query_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_expansion_entity_query_by_id.py
index b602cd4c4c5f..4f294a13a711 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_expansion_entity_query_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_queries/get_expansion_entity_query_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_template_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_activity_entity_query_template_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_template_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_activity_entity_query_template_by_id.py
index 8535ed42977e..c67d3e52063c 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_activity_entity_query_template_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_activity_entity_query_template_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_query_templates.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_entity_query_templates.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_query_templates.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_entity_query_templates.py
index 9891a363b78b..a9f5ba50373f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_entity_query_templates.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/entity_query_templates/get_entity_query_templates.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_file_import.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/create_file_import.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_file_import.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/create_file_import.py
index 9a9744fd6ec9..7f4553418a66 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_file_import.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/create_file_import.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -45,6 +46,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/fileImports/CreateFileImport.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/fileImports/CreateFileImport.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_file_import.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/delete_file_import.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_file_import.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/delete_file_import.py
index 3b966a3523f3..85b6949d0edd 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_file_import.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/delete_file_import.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/fileImports/DeleteFileImport.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/fileImports/DeleteFileImport.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_import_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_import_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_import_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_import_by_id.py
index 31cca3f33ca3..4a8614c2582f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_import_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_import_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/fileImports/GetFileImportById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/fileImports/GetFileImportById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_imports.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_imports.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_imports.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_imports.py
index 453ebae65bdc..64ed295a974b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_file_imports.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/file_imports/get_file_imports.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/fileImports/GetFileImports.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/fileImports/GetFileImports.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt.py
new file mode 100644
index 000000000000..e60bc11d9ee2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt.py
@@ -0,0 +1,55 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_hunt.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunts.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt={
+ "properties": {
+ "attackTactics": ["Reconnaissance"],
+ "attackTechniques": ["T1595"],
+ "description": "Log4J Hunt Description",
+ "displayName": "Log4J new hunt",
+ "hypothesisStatus": "Unknown",
+ "labels": ["Label1", "Label2"],
+ "owner": {"objectId": "873b5263-5d34-4149-b356-ad341b01e123"},
+ "status": "New",
+ }
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/CreateHunt.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_comment.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_comment.py
new file mode 100644
index 000000000000..2643b7a81205
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_comment.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_hunt_comment.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_comments.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_comment_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
+ hunt_comment={"properties": {"message": "This is a test comment."}},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/CreateHuntComment.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_relation.py
new file mode 100644
index 000000000000..1cb28fa73935
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/create_hunt_relation.py
@@ -0,0 +1,50 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_hunt_relation.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_relations.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_relation_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
+ hunt_relation={
+ "properties": {
+ "labels": ["Test Label"],
+ "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ }
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/CreateHuntRelation.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_whois_by_domain_name.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt.py
similarity index 85%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_whois_by_domain_name.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt.py
index 53f54bfb1d25..74497ece9def 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_whois_by_domain_name.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -14,7 +15,7 @@
pip install azure-identity
pip install azure-mgmt-securityinsight
# USAGE
- python get_whois_by_domain_name.py
+ python delete_hunt.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@@ -29,13 +30,13 @@ def main():
subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
)
- response = client.domain_whois.get(
+ client.hunts.delete(
resource_group_name="myRg",
- domain="microsoft.com",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/enrichment/GetWhoisByDomainName.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/DeleteHunt.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_comment.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_comment.py
new file mode 100644
index 000000000000..946dd4b5af88
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_comment.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_hunt_comment.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ client.hunt_comments.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_comment_id="2216d0e1-91e3-4902-89fd-d2df8c123456",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/DeleteHuntComment.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_relation.py
new file mode 100644
index 000000000000..83d09b3f9699
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/delete_hunt_relation.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_hunt_relation.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ client.hunt_relations.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_relation_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/DeleteHuntRelation.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_by_id.py
new file mode 100644
index 000000000000..7c99a779f3a9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_by_id.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_hunt_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunts.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHuntById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comment_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comment_by_id.py
new file mode 100644
index 000000000000..8ab9bdeb7217
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comment_by_id.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_hunt_comment_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_comments.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_comment_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHuntCommentById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comments.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comments.py
new file mode 100644
index 000000000000..4d5012fc4d6e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_comments.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_hunt_comments.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_comments.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHuntComments.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relation_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relation_by_id.py
new file mode 100644
index 000000000000..fcb1d3689e63
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relation_by_id.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_hunt_relation_by_id.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_relations.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ hunt_relation_id="2216d0e1-91e3-4902-89fd-d2df8c535096",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHuntRelationById.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relations.py
new file mode 100644
index 000000000000..776ec8b067f4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunt_relations.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_hunt_relations.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.hunt_relations.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ hunt_id="163e7b2a-a2ec-4041-aaba-d878a38f265f",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHuntRelations.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_geodata_by_ip.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunts.py
similarity index 85%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_geodata_by_ip.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunts.py
index 93496f23f2d7..c0cd7ebeaeb6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_geodata_by_ip.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/hunts/get_hunts.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -14,7 +15,7 @@
pip install azure-identity
pip install azure-mgmt-securityinsight
# USAGE
- python get_geodata_by_ip.py
+ python get_hunts.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@@ -29,13 +30,14 @@ def main():
subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
)
- response = client.ip_geodata.get(
+ response = client.hunts.list(
resource_group_name="myRg",
- ip_address="1.2.3.4",
+ workspace_name="myWorkspace",
)
- print(response)
+ for item in response:
+ print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/enrichment/GetGeodataByIp.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/hunts/GetHunts.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_alerts.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_alerts/incidents_list_alerts.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_alerts.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_alerts/incidents_list_alerts.py
index a62de178a146..677dbcbd7945 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_alerts.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_alerts/incidents_list_alerts.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentAlerts/Incidents_ListAlerts.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentAlerts/Incidents_ListAlerts.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_bookmarks.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_bookmarks/incidents_list_bookmarks.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_bookmarks.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_bookmarks/incidents_list_bookmarks.py
index b931f0ff5499..da41b55ee720 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_bookmarks.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_bookmarks/incidents_list_bookmarks.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_create_or_update.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_create_or_update.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_create_or_update.py
index 76b762bca38f..cc1ff5f50c2e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_create_or_update.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_create_or_update.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -39,6 +40,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_delete.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_delete.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_delete.py
index 41de0f2f027c..bfcd255bdb14 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_delete.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_delete.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.incident_comments.delete(
+ client.incident_comments.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
incident_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
incident_comment_id="4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentComments/IncidentComments_Delete.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentComments/IncidentComments_Delete.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_get.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_get.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_get.py
index 376e884be9ca..0b974a1822a5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_get.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_get.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentComments/IncidentComments_Get.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentComments/IncidentComments_Get.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_list.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_list.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_list.py
index 7fce290b89df..78f95126f183 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_comments_list.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_comments/incident_comments_list.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentComments/IncidentComments_List.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentComments/IncidentComments_List.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_entities.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_entities/incidents_list_entities.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_entities.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_entities/incidents_list_entities.py
index 93dbebcc10c5..40b0941b5690 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list_entities.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_entities/incidents_list_entities.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentEntities/Incidents_ListEntities.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentEntities/Incidents_ListEntities.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_create_or_update.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_create_or_update.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_create_or_update.py
index 358cd15f754e..f01f22199977 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_create_or_update.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_create_or_update.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -39,6 +40,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_delete.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_delete.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_delete.py
index 4e742bfbd432..b02471a57a0d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_delete.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_delete.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.incident_tasks.delete(
+ client.incident_tasks.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
incident_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
incident_task_id="4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Delete.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Delete.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_get.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_get.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_get.py
index e825d109fd60..6fddad729211 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_get.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_get.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Get.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Get.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_list.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_list.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_list.py
index 371a20ddd697..ecec32f7d5bb 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incident_tasks_list.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incident_tasks/incident_tasks_list.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/IncidentTasks/IncidentTasks_List.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/IncidentTasks/IncidentTasks_List.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_or_update.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_create_or_update.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_or_update.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_create_or_update.py
index 99dd33a78950..4e8c70655f22 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_create_or_update.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_create_or_update.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -58,6 +59,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/Incidents_CreateOrUpdate.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/Incidents_CreateOrUpdate.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_delete.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_delete.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_delete.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_delete.py
index 46d6ef624106..859c1bdc4190 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_delete.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_delete.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.incidents.delete(
+ client.incidents.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
incident_id="73e01a99-5cd7-4139-a149-9f2736ff2ab5",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/Incidents_Delete.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/Incidents_Delete.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_get.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_get.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_get.py
index 159a603b2460..f33bfc5cbf32 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_get.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_get.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/Incidents_Get.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/Incidents_Get.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_list.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_list.py
index 92ad2ea10b6b..eada315c5a23 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_list.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/incidents_list.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/Incidents_List.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/Incidents_List.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_incident_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/create_incident_relation.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_incident_relation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/create_incident_relation.py
index 18684885840e..814fa84a908e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_incident_relation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/create_incident_relation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -43,6 +44,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/relations/CreateIncidentRelation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/relations/CreateIncidentRelation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_incident_relation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/delete_incident_relation.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_incident_relation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/delete_incident_relation.py
index 78337555b97a..15eed0a21ff5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_incident_relation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/delete_incident_relation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.incident_relations.delete(
+ client.incident_relations.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
incident_id="afbd324f-6c48-459c-8710-8d1e1cd03812",
relation_name="4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/relations/DeleteIncidentRelation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/relations/DeleteIncidentRelation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_incident_relations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_all_incident_relations.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_incident_relations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_all_incident_relations.py
index d51befaed744..c892acd687e8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_incident_relations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_all_incident_relations.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/relations/GetAllIncidentRelations.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/relations/GetAllIncidentRelations.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_incident_relation_by_name.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_incident_relation_by_name.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_incident_relation_by_name.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_incident_relation_by_name.py
index 56607932ef56..d0bb9399744a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_incident_relation_by_name.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents/relations/get_incident_relation_by_name.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/incidents/relations/GetIncidentRelationByName.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/incidents/relations/GetIncidentRelationByName.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/entities_run_playbook.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/entities_run_playbook.py
new file mode 100644
index 000000000000..71c18e8ad7a2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/entities_run_playbook.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python entities_run_playbook.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.entities.run_playbook(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ entity_identifier="72e01a22-5cd2-4139-a149-9f2736ff2ar2",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/manualTrigger/Entities_RunPlaybook.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_run_playbook.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/incidents_run_playbook.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_run_playbook.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/incidents_run_playbook.py
index eeccd2e1694d..15abe0cdfb5a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/incidents_run_playbook.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/manual_trigger/incidents_run_playbook.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/manualTrigger/Incidents_RunPlaybook.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/manualTrigger/Incidents_RunPlaybook.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_metadata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/delete_metadata.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_metadata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/delete_metadata.py
index 49bd06ba9428..81e1ea808616 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_metadata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/delete_metadata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.metadata.delete(
+ client.metadata.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
metadata_name="metadataName",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/DeleteMetadata.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/DeleteMetadata.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata.py
index 7db4cc0f8c28..28595208f1af 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/GetAllMetadata.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/GetAllMetadata.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata_odata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata_odata.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata_odata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata_odata.py
index 5b4257bac619..c71815a92aa5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_metadata_odata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_all_metadata_odata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/GetAllMetadataOData.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/GetAllMetadataOData.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_metadata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_metadata.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_metadata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_metadata.py
index e8d786700ebb..a96dc2681849 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_metadata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/get_metadata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/GetMetadata.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/GetMetadata.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_metadata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/patch_metadata.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_metadata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/patch_metadata.py
index 7cbdf1b8fb56..76dde07a2bcd 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_metadata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/patch_metadata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/PatchMetadata.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/PatchMetadata.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata.py
similarity index 98%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata.py
index 62ff77bced8a..cc8c3763e860 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -90,6 +91,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/PutMetadata.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/PutMetadata.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata_minimal.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata_minimal.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata_minimal.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata_minimal.py
index 10215a694f1a..b1eaed3140b7 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/put_metadata_minimal.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/metadata/put_metadata_minimal.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -44,6 +45,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/metadata/PutMetadataMinimal.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/metadata/PutMetadataMinimal.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_consents.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/delete_office_consents.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_consents.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/delete_office_consents.py
index d66ae4ac7351..b91d0d3caf46 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_office_consents.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/delete_office_consents.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.office_consents.delete(
+ client.office_consents.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
consent_id="04e5fd05-ff86-4b97-b8d2-1c20933cb46c",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/officeConsents/DeleteOfficeConsents.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/officeConsents/DeleteOfficeConsents.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents.py
index 047adb41a559..462f5edfec45 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/officeConsents/GetOfficeConsents.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/officeConsents/GetOfficeConsents.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents_by_id.py
index 07d171e85fe9..911d01f1ac8d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_office_consents_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/office_consents/get_office_consents_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/officeConsents/GetOfficeConsentsById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/officeConsents/GetOfficeConsentsById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_sentinel_onboarding_state.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/create_sentinel_onboarding_state.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_sentinel_onboarding_state.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/create_sentinel_onboarding_state.py
index 5c8fe53f325f..8a064ef15d1d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_sentinel_onboarding_state.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/create_sentinel_onboarding_state.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_sentinel_onboarding_state.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/delete_sentinel_onboarding_state.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_sentinel_onboarding_state.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/delete_sentinel_onboarding_state.py
index 7efd7e514297..af69faaec65d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_sentinel_onboarding_state.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/delete_sentinel_onboarding_state.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.sentinel_onboarding_states.delete(
+ client.sentinel_onboarding_states.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
sentinel_onboarding_state_name="default",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_sentinel_onboarding_states.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_all_sentinel_onboarding_states.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_sentinel_onboarding_states.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_all_sentinel_onboarding_states.py
index 50414b351665..22e2547c5821 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_sentinel_onboarding_states.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_all_sentinel_onboarding_states.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -36,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_sentinel_onboarding_state.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_sentinel_onboarding_state.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_sentinel_onboarding_state.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_sentinel_onboarding_state.py
index 9913163dbb50..b6cf9aeb0c67 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_sentinel_onboarding_state.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/onboarding_states/get_sentinel_onboarding_state.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/list_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/operations/list_operations.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/list_operations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/operations/list_operations.py
index c5bdf9face9c..0e1198560876 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/list_operations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/operations/list_operations.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -34,6 +35,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/operations/ListOperations.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/operations/ListOperations.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendation.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendation.py
index 10ce219569fc..ecc7b9ba869d 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/recommendations/GetRecommendation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/recommendations/GetRecommendation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendations.py
similarity index 93%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendations.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendations.py
index 049b5a6b8a82..721e45c9df35 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_recommendations.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/get_recommendations.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -33,9 +34,10 @@ def main():
resource_group_name="myRg",
workspace_name="myWorkspace",
)
- print(response)
+ for item in response:
+ print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/recommendations/GetRecommendations.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/recommendations/GetRecommendations.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_recommendation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/patch_recommendation.py
similarity index 89%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_recommendation.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/patch_recommendation.py
index 42ed7cf1e6ac..938ea7f83c3e 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/patch_recommendation.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/patch_recommendation.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,15 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.update.begin_recommendation(
+ response = client.update.recommendation(
resource_group_name="myRg",
workspace_name="myWorkspace",
recommendation_id="6d4b54eb-8684-4aa3-a156-3aa37b8014bc",
- recommendation_patch=[{"state": "Active"}],
- ).result()
+ recommendation_patch={"properties": {"state": "Active"}},
+ )
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/recommendations/PatchRecommendation.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/recommendations/PatchRecommendation.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/reevaluate_recommendation.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/reevaluate_recommendation.py
new file mode 100644
index 000000000000..9385481212b9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/recommendations/reevaluate_recommendation.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python reevaluate_recommendation.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.reevaluate.recommendation(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ recommendation_id="6d4b54eb-8684-4aa3-a156-3aa37b8014bc",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/recommendations/ReevaluateRecommendation.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_repositories.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/repositories/get_repositories.py
similarity index 77%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_repositories.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/repositories/get_repositories.py
index a79ba4b95ce1..c91be1ad250a 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_repositories.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/repositories/get_repositories.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -32,12 +33,22 @@ def main():
response = client.source_control.list_repositories(
resource_group_name="myRg",
workspace_name="myWorkspace",
- repo_type="Github",
+ repository_access={
+ "etag": '"0300bf09-0000-0000-0000-5c37296e0000"',
+ "properties": {
+ "repositoryAccess": {
+ "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73",
+ "code": "939fd7c6caf754f4f41f",
+ "kind": "OAuth",
+ "state": "state",
+ }
+ },
+ },
)
for item in response:
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/repositories/GetRepositories.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/repositories/GetRepositories.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_security_ml_analytics_setting.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/delete_security_ml_analytics_setting.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_security_ml_analytics_setting.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/delete_security_ml_analytics_setting.py
index 10c84d42cbb3..507436cc0582 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_security_ml_analytics_setting.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/delete_security_ml_analytics_setting.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.security_ml_analytics_settings.delete(
+ client.security_ml_analytics_settings.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
settings_resource_name="f209187f-1d17-4431-94af-c141bf5f23db",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_security_ml_analytics_settings.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_all_security_ml_analytics_settings.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_security_ml_analytics_settings.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_all_security_ml_analytics_settings.py
index 1a674b133d69..46e1ea6ecce8 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_security_ml_analytics_settings.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_all_security_ml_analytics_settings.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_anomaly_security_ml_analytics_setting.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_anomaly_security_ml_analytics_setting.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_anomaly_security_ml_analytics_setting.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_anomaly_security_ml_analytics_setting.py
index 58c9a9583e24..7c8c03ddbc08 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_anomaly_security_ml_analytics_setting.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/security_ml_analytics_settings/get_anomaly_security_ml_analytics_setting.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_eyes_on_setting.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/delete_eyes_on_setting.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_eyes_on_setting.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/delete_eyes_on_setting.py
index 599eaa20379e..eb9dd91d5ef2 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_eyes_on_setting.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/delete_eyes_on_setting.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.product_settings.delete(
+ client.product_settings.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
settings_name="EyesOn",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/settings/DeleteEyesOnSetting.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/settings/DeleteEyesOnSetting.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_settings.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_all_settings.py
similarity index 93%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_settings.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_all_settings.py
index 9686f64f3e57..444b727564e6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_all_settings.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_all_settings.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -33,9 +34,10 @@ def main():
resource_group_name="myRg",
workspace_name="myWorkspace",
)
- print(response)
+ for item in response:
+ print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/settings/GetAllSettings.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/settings/GetAllSettings.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_eyes_on_setting.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_eyes_on_setting.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_eyes_on_setting.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_eyes_on_setting.py
index 631125a81101..190702451d16 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_eyes_on_setting.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/get_eyes_on_setting.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/settings/GetEyesOnSetting.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/settings/GetEyesOnSetting.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/update_eyes_on_setting.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/update_eyes_on_setting.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/update_eyes_on_setting.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/update_eyes_on_setting.py
index 9f10f20bb113..b9faee86137f 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/update_eyes_on_setting.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/settings/update_eyes_on_setting.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/settings/UpdateEyesOnSetting.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/settings/UpdateEyesOnSetting.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_source_control.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/create_source_control.py
similarity index 87%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_source_control.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/create_source_control.py
index e4ba898e9ea7..59bc8c284301 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_source_control.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/create_source_control.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -43,18 +44,20 @@ def main():
"repository": {
"branch": "master",
"displayUrl": "https://github.com/user/repo",
- "pathMapping": [
- {"contentType": "AnalyticRules", "path": "path/to/rules"},
- {"contentType": "Workbook", "path": "path/to/workbooks"},
- ],
"url": "https://github.com/user/repo",
},
+ "repositoryAccess": {
+ "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73",
+ "code": "939fd7c6caf754f4f41f",
+ "kind": "OAuth",
+ "state": "state",
+ },
},
},
)
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/sourcecontrols/CreateSourceControl.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/sourcecontrols/CreateSourceControl.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_source_control.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/delete_source_control.py
similarity index 79%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_source_control.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/delete_source_control.py
index b39bed43c896..8c8aa5606674 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_source_control.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/delete_source_control.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -33,10 +34,20 @@ def main():
resource_group_name="myRg",
workspace_name="myWorkspace",
source_control_id="789e0c1f-4a3d-43ad-809c-e713b677b04a",
+ repository_access={
+ "properties": {
+ "repositoryAccess": {
+ "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73",
+ "code": "939fd7c6caf754f4f41f",
+ "kind": "OAuth",
+ "state": "state",
+ }
+ }
+ },
)
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/sourcecontrols/DeleteSourceControl.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/sourcecontrols/DeleteSourceControl.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_control_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_control_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_control_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_control_by_id.py
index 340237ce6a45..d4d687785a8b 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_control_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_control_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/sourcecontrols/GetSourceControlById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/sourcecontrols/GetSourceControlById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_controls.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_controls.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_controls.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_controls.py
index ceb9628d252b..f4192d72b118 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_source_controls.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/sourcecontrols/get_source_controls.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/sourcecontrols/GetSourceControls.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/sourcecontrols/GetSourceControls.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/collect_threat_intelligence_metrics.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/collect_threat_intelligence_metrics.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/collect_threat_intelligence_metrics.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/collect_threat_intelligence_metrics.py
index a75c2fbfdef1..32d59d9b6355 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/collect_threat_intelligence_metrics.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/collect_threat_intelligence_metrics.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -36,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_threat_intelligence.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/delete_threat_intelligence.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_threat_intelligence.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/delete_threat_intelligence.py
index 254248e2572d..b71d4491ec06 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_threat_intelligence.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/delete_threat_intelligence.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
)
- response = client.threat_intelligence_indicator.delete(
+ client.threat_intelligence_indicator.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
name="d9cd6f0b-96b9-3984-17cd-a779d1e15a93",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence.py
index 6dc9762759ac..84af5e5620ed 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/threatintelligence/GetThreatIntelligence.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/GetThreatIntelligence.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence_by_id.py
index 41e6c872c5ee..7ca26f7b8fb6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_threat_intelligence_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/get_threat_intelligence_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_count.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_count.py
new file mode 100644
index 000000000000..ddbf32690d4a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_count.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python post_threat_intelligence_count.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.threat_intelligence.count(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ ti_type="main",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/PostThreatIntelligenceCount.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_query.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_query.py
new file mode 100644
index 000000000000..00332ed7a6fa
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/threatintelligence/post_threat_intelligence_query.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python post_threat_intelligence_query.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="bd794837-4d29-4647-9105-6339bfdb4e6a",
+ )
+
+ response = client.threat_intelligence.query(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ ti_type="main",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/threatintelligence/PostThreatIntelligenceQuery.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/trigger_rule_run_post.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/trigger_rule_run_post.py
new file mode 100644
index 000000000000..d5de930643a2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/trigger_rule_run_post.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python trigger_rule_run_post.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.alert_rule.begin_trigger_rule_run(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ rule_id="65360bb0-8986-4ade-a89d-af3cf44d28aa",
+ analytics_rule_run_trigger_parameter={"properties": {"executionTimeUtc": "2022-12-22T15:37:03.074Z"}},
+ ).result()
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/triggeredAnalyticsRuleRuns/triggerRuleRun_Post.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_run_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_run_get.py
new file mode 100644
index 000000000000..5a384126d2b4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_run_get.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python triggered_analytics_rule_run_get.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.triggered_analytics_rule_run.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ rule_run_id="65360bb0-8986-4ade-a89d-af3cf44d28aa",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRun_Get.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_runs_get.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_runs_get.py
new file mode 100644
index 000000000000..b03a5306b4de
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/triggered_analytics_rule_runs/triggered_analytics_rule_runs_get.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python triggered_analytics_rule_runs_get.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.get_triggered_analytics_rule_runs.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRuns_Get.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist.py
similarity index 93%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist.py
index 47b0e922392f..7357932a28a6 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,7 +30,7 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.watchlists.create_or_update(
+ response = client.watchlists.begin_create_or_update(
resource_group_name="myRg",
workspace_name="myWorkspace",
watchlist_alias="highValueAsset",
@@ -44,10 +45,10 @@ def main():
"sourceType": "Local file",
},
},
- )
+ ).result()
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/CreateWatchlist.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/CreateWatchlist.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_and_watchlist_items.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_and_watchlist_items.py
similarity index 94%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_and_watchlist_items.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_and_watchlist_items.py
index 96205b46222e..ede1743a7713 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_and_watchlist_items.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_and_watchlist_items.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,7 +30,7 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.watchlists.create_or_update(
+ response = client.watchlists.begin_create_or_update(
resource_group_name="myRg",
workspace_name="myWorkspace",
watchlist_alias="highValueAsset",
@@ -47,10 +48,10 @@ def main():
"sourceType": "Local file",
},
},
- )
+ ).result()
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_item.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_item.py
similarity index 97%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_item.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_item.py
index f527c1dbf8eb..55dd9983fc96 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/create_watchlist_item.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/create_watchlist_item.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -51,6 +52,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/CreateWatchlistItem.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/CreateWatchlistItem.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist.py
similarity index 91%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist.py
index 657798684a34..a2716366d297 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,14 +30,13 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.watchlists.delete(
+ client.watchlists.begin_delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
watchlist_alias="highValueAsset",
- )
- print(response)
+ ).result()
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/DeleteWatchlist.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/DeleteWatchlist.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist_item.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist_item.py
similarity index 92%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist_item.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist_item.py
index d22cdfb7f9df..7866d15dfe13 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/delete_watchlist_item.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/delete_watchlist_item.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -29,15 +30,14 @@ def main():
subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
)
- response = client.watchlist_items.delete(
+ client.watchlist_items.delete(
resource_group_name="myRg",
workspace_name="myWorkspace",
watchlist_alias="highValueAsset",
watchlist_item_id="4008512e-1d30-48b2-9ee2-d3612ed9d3ea",
)
- print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/DeleteWatchlistItem.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/DeleteWatchlistItem.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_by_alias.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_by_alias.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_by_alias.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_by_alias.py
index 52d3b745e293..7d95edd747c5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_by_alias.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_by_alias.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/GetWatchlistByAlias.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/GetWatchlistByAlias.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_item_by_id.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_item_by_id.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_item_by_id.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_item_by_id.py
index 412ba40fef43..bf99f03404d9 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_item_by_id.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_item_by_id.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/GetWatchlistItemById.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/GetWatchlistItemById.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_items.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_items.py
similarity index 96%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_items.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_items.py
index ca7c80699b5b..36c2a90e59a5 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlist_items.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlist_items.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -38,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/GetWatchlistItems.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/GetWatchlistItems.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlists.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlists.py
similarity index 95%
rename from sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlists.py
rename to sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlists.py
index 2546e29b6ff9..1ed1d1913944 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/get_watchlists.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/watchlists/get_watchlists.py
@@ -7,6 +7,7 @@
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
+
from azure.mgmt.securityinsight import SecurityInsights
"""
@@ -37,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-12-01-preview/examples/watchlists/GetWatchlists.json
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/watchlists/GetWatchlists.json
if __name__ == "__main__":
main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_job.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_job.py
new file mode 100644
index 000000000000..8a8e1bfff8c5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_job.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_job.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignment_jobs.create(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/CreateJob.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_or_update_workspace_manager_assignment.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_or_update_workspace_manager_assignment.py
new file mode 100644
index 000000000000..7aa19ed1243d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/create_or_update_workspace_manager_assignment.py
@@ -0,0 +1,56 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_or_update_workspace_manager_assignment.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignments.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ workspace_manager_assignment={
+ "properties": {
+ "items": [
+ {
+ "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne"
+ },
+ {
+ "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo"
+ },
+ ],
+ "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96",
+ }
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/CreateOrUpdateWorkspaceManagerAssignment.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_job.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_job.py
new file mode 100644
index 000000000000..759dedd13636
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_job.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_job.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.workspace_manager_assignment_jobs.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ job_name="cfbe1338-8276-4d5d-8b96-931117f9fa0e",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/DeleteJob.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_workspace_manager_assignment.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_workspace_manager_assignment.py
new file mode 100644
index 000000000000..9516addddcee
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/delete_workspace_manager_assignment.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_workspace_manager_assignment.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.workspace_manager_assignments.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/DeleteWorkspaceManagerAssignment.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_jobs.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_jobs.py
new file mode 100644
index 000000000000..f9ec50f68f7b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_jobs.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_jobs.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignment_jobs.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/GetAllJobs.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_workspace_manager_assignments.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_workspace_manager_assignments.py
new file mode 100644
index 000000000000..3b1e039b2f60
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_all_workspace_manager_assignments.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_workspace_manager_assignments.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignments.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/GetAllWorkspaceManagerAssignments.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_job.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_job.py
new file mode 100644
index 000000000000..bc6ccc828c9f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_job.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_job.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignment_jobs.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ job_name="cfbe1338-8276-4d5d-8b96-931117f9fa0e",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/GetJob.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_workspace_manager_assignment.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_workspace_manager_assignment.py
new file mode 100644
index 000000000000..e07a38e4538d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_assignments/get_workspace_manager_assignment.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_workspace_manager_assignment.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_assignments.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_assignment_name="47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerAssignments/GetWorkspaceManagerAssignment.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/create_or_update_workspace_manager_configuration.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/create_or_update_workspace_manager_configuration.py
new file mode 100644
index 000000000000..e6388e659395
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/create_or_update_workspace_manager_configuration.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_or_update_workspace_manager_configuration.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_configurations.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_configuration_name="default",
+ workspace_manager_configuration={"properties": {"mode": "Enabled"}},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerConfigurations/CreateOrUpdateWorkspaceManagerConfiguration.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/delete_workspace_manager_configuration.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/delete_workspace_manager_configuration.py
new file mode 100644
index 000000000000..e49d21e335c8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/delete_workspace_manager_configuration.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_workspace_manager_configuration.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.workspace_manager_configurations.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_configuration_name="default",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerConfigurations/DeleteWorkspaceManagerConfiguration.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_all_workspace_manager_configurations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_all_workspace_manager_configurations.py
new file mode 100644
index 000000000000..c14d16653bb9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_all_workspace_manager_configurations.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_workspace_manager_configurations.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_configurations.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerConfigurations/GetAllWorkspaceManagerConfigurations.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_workspace_manager_configuration.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_workspace_manager_configuration.py
new file mode 100644
index 000000000000..91e9802c296d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_configurations/get_workspace_manager_configuration.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_workspace_manager_configuration.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_configurations.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_configuration_name="default",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerConfigurations/GetWorkspaceManagerConfiguration.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/create_or_update_workspace_manager_group.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/create_or_update_workspace_manager_group.py
new file mode 100644
index 000000000000..043f322ad03e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/create_or_update_workspace_manager_group.py
@@ -0,0 +1,50 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_or_update_workspace_manager_group.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_groups.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_group_name="37207a7a-3b8a-438f-a559-c7df400e1b96",
+ workspace_manager_group={
+ "properties": {
+ "description": "Group of all financial and banking institutions",
+ "displayName": "Banks",
+ "memberResourceNames": ["afbd324f-6c48-459c-8710-8d1e1cd03812", "f5fa104e-c0e3-4747-9182-d342dc048a9e"],
+ }
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerGroups/CreateOrUpdateWorkspaceManagerGroup.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/delete_workspace_manager_group.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/delete_workspace_manager_group.py
new file mode 100644
index 000000000000..70084137f7ab
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/delete_workspace_manager_group.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_workspace_manager_group.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.workspace_manager_groups.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_group_name="37207a7a-3b8a-438f-a559-c7df400e1b96",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerGroups/DeleteWorkspaceManagerGroup.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_all_workspace_manager_groups.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_all_workspace_manager_groups.py
new file mode 100644
index 000000000000..1487ce12bdc1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_all_workspace_manager_groups.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_workspace_manager_groups.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_groups.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerGroups/GetAllWorkspaceManagerGroups.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_workspace_manager_group.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_workspace_manager_group.py
new file mode 100644
index 000000000000..05c524dc8f12
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_groups/get_workspace_manager_group.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_workspace_manager_group.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_groups.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_group_name="37207a7a-3b8a-438f-a559-c7df400e1b96",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerGroups/GetWorkspaceManagerGroup.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/create_or_update_workspace_manager_member.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/create_or_update_workspace_manager_member.py
new file mode 100644
index 000000000000..58f2bce7cdbe
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/create_or_update_workspace_manager_member.py
@@ -0,0 +1,49 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python create_or_update_workspace_manager_member.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_members.create_or_update(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_member_name="afbd324f-6c48-459c-8710-8d1e1cd03812",
+ workspace_manager_member={
+ "properties": {
+ "targetWorkspaceResourceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace",
+ "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd",
+ }
+ },
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerMembers/CreateOrUpdateWorkspaceManagerMember.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/delete_workspace_manager_member.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/delete_workspace_manager_member.py
new file mode 100644
index 000000000000..238d44fc2c49
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/delete_workspace_manager_member.py
@@ -0,0 +1,42 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python delete_workspace_manager_member.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ client.workspace_manager_members.delete(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_member_name="afbd324f-6c48-459c-8710-8d1e1cd03812",
+ )
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerMembers/DeleteWorkspaceManagerMember.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_all_workspace_manager_members.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_all_workspace_manager_members.py
new file mode 100644
index 000000000000..ed94d1fa63b3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_all_workspace_manager_members.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_all_workspace_manager_members.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_members.list(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerMembers/GetAllWorkspaceManagerMembers.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_workspace_manager_member.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_workspace_manager_member.py
new file mode 100644
index 000000000000..5b8b35127156
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_samples/workspace_manager_members/get_workspace_manager_member.py
@@ -0,0 +1,43 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.identity import DefaultAzureCredential
+
+from azure.mgmt.securityinsight import SecurityInsights
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-securityinsight
+# USAGE
+ python get_workspace_manager_member.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = SecurityInsights(
+ credential=DefaultAzureCredential(),
+ subscription_id="d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ )
+
+ response = client.workspace_manager_members.get(
+ resource_group_name="myRg",
+ workspace_name="myWorkspace",
+ workspace_manager_member_name="afbd324f-6c48-459c-8710-8d1e1cd03812",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2024-10-01-preview/examples/workspaceManagerMembers/GetWorkspaceManagerMember.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/conftest.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/conftest.py
new file mode 100644
index 000000000000..09712332d368
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/conftest.py
@@ -0,0 +1,35 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import os
+import pytest
+from dotenv import load_dotenv
+from devtools_testutils import (
+ test_proxy,
+ add_general_regex_sanitizer,
+ add_body_key_sanitizer,
+ add_header_regex_sanitizer,
+)
+
+load_dotenv()
+
+
+# For security, please avoid record sensitive identity information in recordings
+@pytest.fixture(scope="session", autouse=True)
+def add_sanitizers(test_proxy):
+ securityinsights_subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000")
+ securityinsights_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000")
+ securityinsights_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000")
+ securityinsights_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000")
+ add_general_regex_sanitizer(regex=securityinsights_subscription_id, value="00000000-0000-0000-0000-000000000000")
+ add_general_regex_sanitizer(regex=securityinsights_tenant_id, value="00000000-0000-0000-0000-000000000000")
+ add_general_regex_sanitizer(regex=securityinsights_client_id, value="00000000-0000-0000-0000-000000000000")
+ add_general_regex_sanitizer(regex=securityinsights_client_secret, value="00000000-0000-0000-0000-000000000000")
+
+ add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]")
+ add_header_regex_sanitizer(key="Cookie", value="cookie;")
+ add_body_key_sanitizer(json_path="$..access_token", value="access_token")
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights.py
new file mode 100644
index 000000000000..0ff0eb33a260
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights.py
@@ -0,0 +1,47 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsights(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_list_geodata_by_ip(self, resource_group):
+ response = self.client.list_geodata_by_ip(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ enrichment_type="str",
+ ip_address_body={"ipAddress": "str"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_list_whois_by_domain(self, resource_group):
+ response = self.client.list_whois_by_domain(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ enrichment_type="str",
+ domain_body={"domain": "str"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations.py
new file mode 100644
index 000000000000..2ea0e1af3bbf
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations.py
@@ -0,0 +1,90 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsActionsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_actions_list_by_alert_rule(self, resource_group):
+ response = self.client.actions.list_by_alert_rule(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_actions_get(self, resource_group):
+ response = self.client.actions.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_actions_create_or_update(self, resource_group):
+ response = self.client.actions.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ action={
+ "etag": "str",
+ "id": "str",
+ "logicAppResourceId": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "triggerUri": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_actions_delete(self, resource_group):
+ response = self.client.actions.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations_async.py
new file mode 100644
index 000000000000..28f17d1f729f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_actions_operations_async.py
@@ -0,0 +1,91 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsActionsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_actions_list_by_alert_rule(self, resource_group):
+ response = self.client.actions.list_by_alert_rule(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_actions_get(self, resource_group):
+ response = await self.client.actions.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_actions_create_or_update(self, resource_group):
+ response = await self.client.actions.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ action={
+ "etag": "str",
+ "id": "str",
+ "logicAppResourceId": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "triggerUri": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_actions_delete(self, resource_group):
+ response = await self.client.actions.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ action_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations.py
new file mode 100644
index 000000000000..5450d19db8d6
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRuleOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rule_begin_trigger_rule_run(self, resource_group):
+ response = self.client.alert_rule.begin_trigger_rule_run(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ analytics_rule_run_trigger_parameter={"executionTimeUtc": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations_async.py
new file mode 100644
index 000000000000..1f5e3dec4829
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_operations_async.py
@@ -0,0 +1,36 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRuleOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rule_begin_trigger_rule_run(self, resource_group):
+ response = await (
+ await self.client.alert_rule.begin_trigger_rule_run(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ analytics_rule_run_trigger_parameter={"executionTimeUtc": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ )
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations.py
new file mode 100644
index 000000000000..305021a3f31b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRuleTemplatesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rule_templates_list(self, resource_group):
+ response = self.client.alert_rule_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rule_templates_get(self, resource_group):
+ response = self.client.alert_rule_templates.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ alert_rule_template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations_async.py
new file mode 100644
index 000000000000..f5e65c0000bb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rule_templates_operations_async.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRuleTemplatesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rule_templates_list(self, resource_group):
+ response = self.client.alert_rule_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rule_templates_get(self, resource_group):
+ response = await self.client.alert_rule_templates.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ alert_rule_template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations.py
new file mode 100644
index 000000000000..9400fc7f5ca7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations.py
@@ -0,0 +1,112 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRulesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rules_list(self, resource_group):
+ response = self.client.alert_rules.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rules_get(self, resource_group):
+ response = self.client.alert_rules.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rules_create_or_update(self, resource_group):
+ response = self.client.alert_rules.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ alert_rule={
+ "kind": "Fusion",
+ "alertRuleTemplateName": "str",
+ "description": "str",
+ "displayName": "str",
+ "enabled": bool,
+ "etag": "str",
+ "id": "str",
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "scenarioExclusionPatterns": [{"dateAddedInUTC": "str", "exclusionPattern": "str"}],
+ "severity": "str",
+ "sourceSettings": [
+ {
+ "enabled": bool,
+ "sourceName": "str",
+ "sourceSubTypes": [
+ {
+ "enabled": bool,
+ "severityFilters": {
+ "filters": [{"enabled": bool, "severity": "str"}],
+ "isSupported": bool,
+ },
+ "sourceSubTypeName": "str",
+ "sourceSubTypeDisplayName": "str",
+ }
+ ],
+ }
+ ],
+ "subTechniques": ["str"],
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_alert_rules_delete(self, resource_group):
+ response = self.client.alert_rules.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations_async.py
new file mode 100644
index 000000000000..6b8f5552a522
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_alert_rules_operations_async.py
@@ -0,0 +1,113 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAlertRulesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rules_list(self, resource_group):
+ response = self.client.alert_rules.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rules_get(self, resource_group):
+ response = await self.client.alert_rules.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rules_create_or_update(self, resource_group):
+ response = await self.client.alert_rules.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ alert_rule={
+ "kind": "Fusion",
+ "alertRuleTemplateName": "str",
+ "description": "str",
+ "displayName": "str",
+ "enabled": bool,
+ "etag": "str",
+ "id": "str",
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "scenarioExclusionPatterns": [{"dateAddedInUTC": "str", "exclusionPattern": "str"}],
+ "severity": "str",
+ "sourceSettings": [
+ {
+ "enabled": bool,
+ "sourceName": "str",
+ "sourceSubTypes": [
+ {
+ "enabled": bool,
+ "severityFilters": {
+ "filters": [{"enabled": bool, "severity": "str"}],
+ "isSupported": bool,
+ },
+ "sourceSubTypeName": "str",
+ "sourceSubTypeDisplayName": "str",
+ }
+ ],
+ }
+ ],
+ "subTechniques": ["str"],
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_alert_rules_delete(self, resource_group):
+ response = await self.client.alert_rules.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_async.py
new file mode 100644
index 000000000000..48f5924595e9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_async.py
@@ -0,0 +1,48 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_list_geodata_by_ip(self, resource_group):
+ response = await self.client.list_geodata_by_ip(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ enrichment_type="str",
+ ip_address_body={"ipAddress": "str"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_list_whois_by_domain(self, resource_group):
+ response = await self.client.list_whois_by_domain(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ enrichment_type="str",
+ domain_body={"domain": "str"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations.py
new file mode 100644
index 000000000000..c47805e8fdf8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations.py
@@ -0,0 +1,70 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAutomationRulesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_automation_rules_get(self, resource_group):
+ response = self.client.automation_rules.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_automation_rules_create_or_update(self, resource_group):
+ response = self.client.automation_rules.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_automation_rules_delete(self, resource_group):
+ response = self.client.automation_rules.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_automation_rules_list(self, resource_group):
+ response = self.client.automation_rules.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations_async.py
new file mode 100644
index 000000000000..fb0eff8dbb0e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_automation_rules_operations_async.py
@@ -0,0 +1,71 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsAutomationRulesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_automation_rules_get(self, resource_group):
+ response = await self.client.automation_rules.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_automation_rules_create_or_update(self, resource_group):
+ response = await self.client.automation_rules.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_automation_rules_delete(self, resource_group):
+ response = await self.client.automation_rules.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ automation_rule_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_automation_rules_list(self, resource_group):
+ response = self.client.automation_rules.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations.py
new file mode 100644
index 000000000000..2362d7ec8ca3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBillingStatisticsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_billing_statistics_list(self, resource_group):
+ response = self.client.billing_statistics.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_billing_statistics_get(self, resource_group):
+ response = self.client.billing_statistics.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ billing_statistic_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations_async.py
new file mode 100644
index 000000000000..5df2651e0948
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_billing_statistics_operations_async.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBillingStatisticsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_billing_statistics_list(self, resource_group):
+ response = self.client.billing_statistics.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_billing_statistics_get(self, resource_group):
+ response = await self.client.billing_statistics.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ billing_statistic_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations.py
new file mode 100644
index 000000000000..f6acd1ce0c29
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarkOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmark_expand(self, resource_group):
+ response = self.client.bookmark.expand(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ parameters={"endTime": "2020-02-20 00:00:00", "expansionId": "str", "startTime": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations_async.py
new file mode 100644
index 000000000000..2ead80e47ff7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_operations_async.py
@@ -0,0 +1,34 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarkOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmark_expand(self, resource_group):
+ response = await self.client.bookmark.expand(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ parameters={"endTime": "2020-02-20 00:00:00", "expansionId": "str", "startTime": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations.py
new file mode 100644
index 000000000000..495a24a90f20
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations.py
@@ -0,0 +1,92 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarkRelationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmark_relations_list(self, resource_group):
+ response = self.client.bookmark_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmark_relations_get(self, resource_group):
+ response = self.client.bookmark_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmark_relations_create_or_update(self, resource_group):
+ response = self.client.bookmark_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ relation={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relatedResourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmark_relations_delete(self, resource_group):
+ response = self.client.bookmark_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations_async.py
new file mode 100644
index 000000000000..56275a52d80e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmark_relations_operations_async.py
@@ -0,0 +1,93 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarkRelationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmark_relations_list(self, resource_group):
+ response = self.client.bookmark_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmark_relations_get(self, resource_group):
+ response = await self.client.bookmark_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmark_relations_create_or_update(self, resource_group):
+ response = await self.client.bookmark_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ relation={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relatedResourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmark_relations_delete(self, resource_group):
+ response = await self.client.bookmark_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations.py
new file mode 100644
index 000000000000..421e9446cb5a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations.py
@@ -0,0 +1,100 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarksOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmarks_list(self, resource_group):
+ response = self.client.bookmarks.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmarks_get(self, resource_group):
+ response = self.client.bookmarks.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmarks_create_or_update(self, resource_group):
+ response = self.client.bookmarks.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ bookmark={
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "displayName": "str",
+ "entityMappings": [{"entityType": "str", "fieldMappings": [{"identifier": "str", "value": "str"}]}],
+ "etag": "str",
+ "eventTime": "2020-02-20 00:00:00",
+ "id": "str",
+ "incidentInfo": {"incidentId": "str", "relationName": "str", "severity": "str", "title": "str"},
+ "labels": ["str"],
+ "name": "str",
+ "notes": "str",
+ "query": "str",
+ "queryEndTime": "2020-02-20 00:00:00",
+ "queryResult": "str",
+ "queryStartTime": "2020-02-20 00:00:00",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_bookmarks_delete(self, resource_group):
+ response = self.client.bookmarks.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations_async.py
new file mode 100644
index 000000000000..b4da8b312532
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_bookmarks_operations_async.py
@@ -0,0 +1,101 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBookmarksOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmarks_list(self, resource_group):
+ response = self.client.bookmarks.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmarks_get(self, resource_group):
+ response = await self.client.bookmarks.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmarks_create_or_update(self, resource_group):
+ response = await self.client.bookmarks.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ bookmark={
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "displayName": "str",
+ "entityMappings": [{"entityType": "str", "fieldMappings": [{"identifier": "str", "value": "str"}]}],
+ "etag": "str",
+ "eventTime": "2020-02-20 00:00:00",
+ "id": "str",
+ "incidentInfo": {"incidentId": "str", "relationName": "str", "severity": "str", "title": "str"},
+ "labels": ["str"],
+ "name": "str",
+ "notes": "str",
+ "query": "str",
+ "queryEndTime": "2020-02-20 00:00:00",
+ "queryResult": "str",
+ "queryStartTime": "2020-02-20 00:00:00",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_bookmarks_delete(self, resource_group):
+ response = await self.client.bookmarks.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ bookmark_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations.py
new file mode 100644
index 000000000000..e99d2b961868
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBusinessApplicationAgentOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_business_application_agent_get(self, resource_group):
+ response = self.client.business_application_agent.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations_async.py
new file mode 100644
index 000000000000..07917221dd47
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agent_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBusinessApplicationAgentOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_business_application_agent_get(self, resource_group):
+ response = await self.client.business_application_agent.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations.py
new file mode 100644
index 000000000000..1bad14411570
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations.py
@@ -0,0 +1,57 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBusinessApplicationAgentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_business_application_agents_create_or_update(self, resource_group):
+ response = self.client.business_application_agents.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_business_application_agents_delete(self, resource_group):
+ response = self.client.business_application_agents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_business_application_agents_list(self, resource_group):
+ response = self.client.business_application_agents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations_async.py
new file mode 100644
index 000000000000..1616fc6856d2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_business_application_agents_operations_async.py
@@ -0,0 +1,58 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsBusinessApplicationAgentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_business_application_agents_create_or_update(self, resource_group):
+ response = await self.client.business_application_agents.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_business_application_agents_delete(self, resource_group):
+ response = await self.client.business_application_agents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_business_application_agents_list(self, resource_group):
+ response = self.client.business_application_agents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations.py
new file mode 100644
index 000000000000..e504df73e1c5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations.py
@@ -0,0 +1,89 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentPackageOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_package_install(self, resource_group):
+ response = self.client.content_package.install(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ package_installation_properties={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "isDeprecated": "str",
+ "isFeatured": "str",
+ "isNew": "str",
+ "isPreview": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "providers": ["str"],
+ "publisherDisplayName": "str",
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_package_uninstall(self, resource_group):
+ response = self.client.content_package.uninstall(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations_async.py
new file mode 100644
index 000000000000..898108b7395b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_package_operations_async.py
@@ -0,0 +1,90 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentPackageOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_package_install(self, resource_group):
+ response = await self.client.content_package.install(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ package_installation_properties={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "isDeprecated": "str",
+ "isFeatured": "str",
+ "isNew": "str",
+ "isPreview": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "providers": ["str"],
+ "publisherDisplayName": "str",
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_package_uninstall(self, resource_group):
+ response = await self.client.content_package.uninstall(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations.py
new file mode 100644
index 000000000000..0f4a8ae1beb6
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentPackagesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_packages_list(self, resource_group):
+ response = self.client.content_packages.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_packages_get(self, resource_group):
+ response = self.client.content_packages.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations_async.py
new file mode 100644
index 000000000000..3604f93c9ceb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_packages_operations_async.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentPackagesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_packages_list(self, resource_group):
+ response = self.client.content_packages.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_packages_get(self, resource_group):
+ response = await self.client.content_packages.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations.py
new file mode 100644
index 000000000000..331e907f3328
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations.py
@@ -0,0 +1,143 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentTemplateOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_template_install(self, resource_group):
+ response = self.client.content_template.install(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ template_installation_properties={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependantTemplates": [
+ {
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependantTemplates": [...],
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "displayName": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "isDeprecated": "str",
+ "lastPublishDate": "2020-02-20",
+ "mainTemplate": {},
+ "packageId": "str",
+ "packageKind": "str",
+ "packageName": "str",
+ "packageVersion": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "version": "str",
+ }
+ ],
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "displayName": "str",
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "isDeprecated": "str",
+ "lastPublishDate": "2020-02-20",
+ "mainTemplate": {},
+ "name": "str",
+ "packageId": "str",
+ "packageKind": "str",
+ "packageName": "str",
+ "packageVersion": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_template_get(self, resource_group):
+ response = self.client.content_template.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_template_delete(self, resource_group):
+ response = self.client.content_template.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations_async.py
new file mode 100644
index 000000000000..400bdb2ab8c1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_template_operations_async.py
@@ -0,0 +1,144 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentTemplateOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_template_install(self, resource_group):
+ response = await self.client.content_template.install(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ template_installation_properties={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependantTemplates": [
+ {
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentKind": "str",
+ "contentProductId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependantTemplates": [...],
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "displayName": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "isDeprecated": "str",
+ "lastPublishDate": "2020-02-20",
+ "mainTemplate": {},
+ "packageId": "str",
+ "packageKind": "str",
+ "packageName": "str",
+ "packageVersion": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "version": "str",
+ }
+ ],
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "displayName": "str",
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "isDeprecated": "str",
+ "lastPublishDate": "2020-02-20",
+ "mainTemplate": {},
+ "name": "str",
+ "packageId": "str",
+ "packageKind": "str",
+ "packageName": "str",
+ "packageVersion": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_template_get(self, resource_group):
+ response = await self.client.content_template.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_template_delete(self, resource_group):
+ response = await self.client.content_template.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations.py
new file mode 100644
index 000000000000..71fc5f8c0070
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentTemplatesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_content_templates_list(self, resource_group):
+ response = self.client.content_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations_async.py
new file mode 100644
index 000000000000..3cc7ac8cd9e8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_content_templates_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsContentTemplatesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_content_templates_list(self, resource_group):
+ response = self.client.content_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations.py
new file mode 100644
index 000000000000..9b9679df2631
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations.py
@@ -0,0 +1,122 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorDefinitionsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connector_definitions_list(self, resource_group):
+ response = self.client.data_connector_definitions.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connector_definitions_get(self, resource_group):
+ response = self.client.data_connector_definitions.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connector_definitions_create_or_update(self, resource_group):
+ response = self.client.data_connector_definitions.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ connector_definition_input={
+ "kind": "Customizable",
+ "connectionsConfig": {"templateSpecName": "str", "templateSpecVersion": "str"},
+ "connectorUiConfig": {
+ "connectivityCriteria": [{"type": "str", "value": ["str"]}],
+ "dataTypes": [{"lastDataReceivedQuery": "str", "name": "str"}],
+ "descriptionMarkdown": "str",
+ "graphQueries": [{"baseQuery": "str", "legend": "str", "metricName": "str"}],
+ "instructionSteps": [
+ {
+ "description": "str",
+ "innerSteps": [...],
+ "instructions": [{"parameters": {}, "type": "str"}],
+ "title": "str",
+ }
+ ],
+ "permissions": {
+ "customs": [{"description": "str", "name": "str"}],
+ "licenses": ["str"],
+ "resourceProvider": [
+ {
+ "permissionsDisplayText": "str",
+ "provider": "str",
+ "providerDisplayName": "str",
+ "requiredPermissions": {"action": bool, "delete": bool, "read": bool, "write": bool},
+ "scope": "str",
+ }
+ ],
+ "tenant": ["str"],
+ },
+ "publisher": "str",
+ "title": "str",
+ "availability": {"isPreview": bool, "status": 0},
+ "id": "str",
+ "isConnectivityCriteriasMatchSome": bool,
+ "logo": "str",
+ },
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connector_definitions_delete(self, resource_group):
+ response = self.client.data_connector_definitions.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations_async.py
new file mode 100644
index 000000000000..14f7517eb653
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connector_definitions_operations_async.py
@@ -0,0 +1,123 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorDefinitionsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connector_definitions_list(self, resource_group):
+ response = self.client.data_connector_definitions.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connector_definitions_get(self, resource_group):
+ response = await self.client.data_connector_definitions.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connector_definitions_create_or_update(self, resource_group):
+ response = await self.client.data_connector_definitions.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ connector_definition_input={
+ "kind": "Customizable",
+ "connectionsConfig": {"templateSpecName": "str", "templateSpecVersion": "str"},
+ "connectorUiConfig": {
+ "connectivityCriteria": [{"type": "str", "value": ["str"]}],
+ "dataTypes": [{"lastDataReceivedQuery": "str", "name": "str"}],
+ "descriptionMarkdown": "str",
+ "graphQueries": [{"baseQuery": "str", "legend": "str", "metricName": "str"}],
+ "instructionSteps": [
+ {
+ "description": "str",
+ "innerSteps": [...],
+ "instructions": [{"parameters": {}, "type": "str"}],
+ "title": "str",
+ }
+ ],
+ "permissions": {
+ "customs": [{"description": "str", "name": "str"}],
+ "licenses": ["str"],
+ "resourceProvider": [
+ {
+ "permissionsDisplayText": "str",
+ "provider": "str",
+ "providerDisplayName": "str",
+ "requiredPermissions": {"action": bool, "delete": bool, "read": bool, "write": bool},
+ "scope": "str",
+ }
+ ],
+ "tenant": ["str"],
+ },
+ "publisher": "str",
+ "title": "str",
+ "availability": {"isPreview": bool, "status": 0},
+ "id": "str",
+ "isConnectivityCriteriasMatchSome": bool,
+ "logo": "str",
+ },
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connector_definitions_delete(self, resource_group):
+ response = await self.client.data_connector_definitions.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_definition_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations.py
new file mode 100644
index 000000000000..3456da2d335b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorsCheckRequirementsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_check_requirements_post(self, resource_group):
+ response = self.client.data_connectors_check_requirements.post(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connectors_check_requirements={"kind": "AmazonWebServicesCloudTrail"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations_async.py
new file mode 100644
index 000000000000..22dbc36636dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_check_requirements_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorsCheckRequirementsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_check_requirements_post(self, resource_group):
+ response = await self.client.data_connectors_check_requirements.post(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connectors_check_requirements={"kind": "AmazonWebServicesCloudTrail"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations.py
new file mode 100644
index 000000000000..02a078fd8e6c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations.py
@@ -0,0 +1,200 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_list(self, resource_group):
+ response = self.client.data_connectors.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_get(self, resource_group):
+ response = self.client.data_connectors.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_create_or_update(self, resource_group):
+ response = self.client.data_connectors.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ data_connector={
+ "kind": "APIPolling",
+ "connectorUiConfig": {
+ "availability": {"isPreview": bool, "status": 1},
+ "connectivityCriteria": [{"type": "str", "value": ["str"]}],
+ "dataTypes": [{"lastDataReceivedQuery": "str", "name": "str"}],
+ "descriptionMarkdown": "str",
+ "graphQueries": [{"baseQuery": "str", "legend": "str", "metricName": "str"}],
+ "graphQueriesTableName": "str",
+ "instructionSteps": [
+ {"description": "str", "instructions": [{"type": "str", "parameters": {}}], "title": "str"}
+ ],
+ "permissions": {
+ "customs": [{"description": "str", "name": "str"}],
+ "resourceProvider": [
+ {
+ "permissionsDisplayText": "str",
+ "provider": "str",
+ "providerDisplayName": "str",
+ "requiredPermissions": {"action": bool, "delete": bool, "read": bool, "write": bool},
+ "scope": "str",
+ }
+ ],
+ },
+ "publisher": "str",
+ "sampleQueries": [{"description": "str", "query": "str"}],
+ "title": "str",
+ "customImage": "str",
+ },
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "pollingConfig": {
+ "auth": {
+ "authType": "str",
+ "apiKeyIdentifier": "str",
+ "apiKeyName": "str",
+ "authorizationEndpoint": "str",
+ "authorizationEndpointQueryParameters": {},
+ "flowName": "str",
+ "isApiKeyInPostPayload": "str",
+ "isClientSecretInHeader": bool,
+ "redirectionEndpoint": "str",
+ "scope": "str",
+ "tokenEndpoint": "str",
+ "tokenEndpointHeaders": {},
+ "tokenEndpointQueryParameters": {},
+ },
+ "request": {
+ "apiEndpoint": "str",
+ "httpMethod": "str",
+ "queryTimeFormat": "str",
+ "queryWindowInMin": 0,
+ "endTimeAttributeName": "str",
+ "headers": {},
+ "queryParameters": {},
+ "queryParametersTemplate": "str",
+ "rateLimitQps": 0,
+ "retryCount": 0,
+ "startTimeAttributeName": "str",
+ "timeoutInSeconds": 0,
+ },
+ "isActive": bool,
+ "paging": {
+ "pagingType": "str",
+ "nextPageParaName": "str",
+ "nextPageTokenJsonPath": "str",
+ "pageCountAttributePath": "str",
+ "pageSize": 0,
+ "pageSizeParaName": "str",
+ "pageTimeStampAttributePath": "str",
+ "pageTotalCountAttributePath": "str",
+ "searchTheLatestTimeStampFromEventsList": "str",
+ },
+ "response": {
+ "eventsJsonPaths": ["str"],
+ "isGzipCompressed": bool,
+ "successStatusJsonPath": "str",
+ "successStatusValue": "str",
+ },
+ },
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_delete(self, resource_group):
+ response = self.client.data_connectors.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_connect(self, resource_group):
+ response = self.client.data_connectors.connect(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ connect_body={
+ "apiKey": "str",
+ "authorizationCode": "str",
+ "clientId": "str",
+ "clientSecret": "str",
+ "dataCollectionEndpoint": "str",
+ "dataCollectionRuleImmutableId": "str",
+ "kind": "str",
+ "outputStream": "str",
+ "password": "str",
+ "requestConfigUserInputValues": [{}],
+ "userName": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_data_connectors_disconnect(self, resource_group):
+ response = self.client.data_connectors.disconnect(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations_async.py
new file mode 100644
index 000000000000..34898cf511e5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_data_connectors_operations_async.py
@@ -0,0 +1,201 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsDataConnectorsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_list(self, resource_group):
+ response = self.client.data_connectors.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_get(self, resource_group):
+ response = await self.client.data_connectors.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_create_or_update(self, resource_group):
+ response = await self.client.data_connectors.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ data_connector={
+ "kind": "APIPolling",
+ "connectorUiConfig": {
+ "availability": {"isPreview": bool, "status": 1},
+ "connectivityCriteria": [{"type": "str", "value": ["str"]}],
+ "dataTypes": [{"lastDataReceivedQuery": "str", "name": "str"}],
+ "descriptionMarkdown": "str",
+ "graphQueries": [{"baseQuery": "str", "legend": "str", "metricName": "str"}],
+ "graphQueriesTableName": "str",
+ "instructionSteps": [
+ {"description": "str", "instructions": [{"type": "str", "parameters": {}}], "title": "str"}
+ ],
+ "permissions": {
+ "customs": [{"description": "str", "name": "str"}],
+ "resourceProvider": [
+ {
+ "permissionsDisplayText": "str",
+ "provider": "str",
+ "providerDisplayName": "str",
+ "requiredPermissions": {"action": bool, "delete": bool, "read": bool, "write": bool},
+ "scope": "str",
+ }
+ ],
+ },
+ "publisher": "str",
+ "sampleQueries": [{"description": "str", "query": "str"}],
+ "title": "str",
+ "customImage": "str",
+ },
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "pollingConfig": {
+ "auth": {
+ "authType": "str",
+ "apiKeyIdentifier": "str",
+ "apiKeyName": "str",
+ "authorizationEndpoint": "str",
+ "authorizationEndpointQueryParameters": {},
+ "flowName": "str",
+ "isApiKeyInPostPayload": "str",
+ "isClientSecretInHeader": bool,
+ "redirectionEndpoint": "str",
+ "scope": "str",
+ "tokenEndpoint": "str",
+ "tokenEndpointHeaders": {},
+ "tokenEndpointQueryParameters": {},
+ },
+ "request": {
+ "apiEndpoint": "str",
+ "httpMethod": "str",
+ "queryTimeFormat": "str",
+ "queryWindowInMin": 0,
+ "endTimeAttributeName": "str",
+ "headers": {},
+ "queryParameters": {},
+ "queryParametersTemplate": "str",
+ "rateLimitQps": 0,
+ "retryCount": 0,
+ "startTimeAttributeName": "str",
+ "timeoutInSeconds": 0,
+ },
+ "isActive": bool,
+ "paging": {
+ "pagingType": "str",
+ "nextPageParaName": "str",
+ "nextPageTokenJsonPath": "str",
+ "pageCountAttributePath": "str",
+ "pageSize": 0,
+ "pageSizeParaName": "str",
+ "pageTimeStampAttributePath": "str",
+ "pageTotalCountAttributePath": "str",
+ "searchTheLatestTimeStampFromEventsList": "str",
+ },
+ "response": {
+ "eventsJsonPaths": ["str"],
+ "isGzipCompressed": bool,
+ "successStatusJsonPath": "str",
+ "successStatusValue": "str",
+ },
+ },
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_delete(self, resource_group):
+ response = await self.client.data_connectors.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_connect(self, resource_group):
+ response = await self.client.data_connectors.connect(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ connect_body={
+ "apiKey": "str",
+ "authorizationCode": "str",
+ "clientId": "str",
+ "clientSecret": "str",
+ "dataCollectionEndpoint": "str",
+ "dataCollectionRuleImmutableId": "str",
+ "kind": "str",
+ "outputStream": "str",
+ "password": "str",
+ "requestConfigUserInputValues": [{}],
+ "userName": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_data_connectors_disconnect(self, resource_group):
+ response = await self.client.data_connectors.disconnect(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ data_connector_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations.py
new file mode 100644
index 000000000000..ac1cb4fce5f8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations.py
@@ -0,0 +1,38 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesGetTimelineOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_get_timeline_list(self, resource_group):
+ response = self.client.entities_get_timeline.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={
+ "endTime": "2020-02-20 00:00:00",
+ "startTime": "2020-02-20 00:00:00",
+ "kinds": ["str"],
+ "numberOfBucket": 0,
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations_async.py
new file mode 100644
index 000000000000..ee5d5a3b0e2a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_get_timeline_operations_async.py
@@ -0,0 +1,39 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesGetTimelineOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_get_timeline_list(self, resource_group):
+ response = await self.client.entities_get_timeline.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={
+ "endTime": "2020-02-20 00:00:00",
+ "startTime": "2020-02-20 00:00:00",
+ "kinds": ["str"],
+ "numberOfBucket": 0,
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations.py
new file mode 100644
index 000000000000..64657218b6ca
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations.py
@@ -0,0 +1,104 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_run_playbook(self, resource_group):
+ response = self.client.entities.run_playbook(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_identifier="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_list(self, resource_group):
+ response = self.client.entities.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_get(self, resource_group):
+ response = self.client.entities.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_expand(self, resource_group):
+ response = self.client.entities.expand(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={"endTime": "2020-02-20 00:00:00", "expansionId": "str", "startTime": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_queries(self, resource_group):
+ response = self.client.entities.queries(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ kind="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_get_insights(self, resource_group):
+ response = self.client.entities.get_insights(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={
+ "endTime": "2020-02-20 00:00:00",
+ "startTime": "2020-02-20 00:00:00",
+ "addDefaultExtendedTimeRange": bool,
+ "insightQueryIds": ["str"],
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations_async.py
new file mode 100644
index 000000000000..7f27fbcc0a4f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_operations_async.py
@@ -0,0 +1,105 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_run_playbook(self, resource_group):
+ response = await self.client.entities.run_playbook(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_identifier="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_list(self, resource_group):
+ response = self.client.entities.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_get(self, resource_group):
+ response = await self.client.entities.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_expand(self, resource_group):
+ response = await self.client.entities.expand(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={"endTime": "2020-02-20 00:00:00", "expansionId": "str", "startTime": "2020-02-20 00:00:00"},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_queries(self, resource_group):
+ response = self.client.entities.queries(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ kind="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_get_insights(self, resource_group):
+ response = await self.client.entities.get_insights(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ parameters={
+ "endTime": "2020-02-20 00:00:00",
+ "startTime": "2020-02-20 00:00:00",
+ "addDefaultExtendedTimeRange": bool,
+ "insightQueryIds": ["str"],
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations.py
new file mode 100644
index 000000000000..924a5dea5d26
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesRelationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entities_relations_list(self, resource_group):
+ response = self.client.entities_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations_async.py
new file mode 100644
index 000000000000..15cfb34d6a97
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entities_relations_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntitiesRelationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entities_relations_list(self, resource_group):
+ response = self.client.entities_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations.py
new file mode 100644
index 000000000000..847b50ee7fca
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations.py
@@ -0,0 +1,96 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityQueriesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_queries_list(self, resource_group):
+ response = self.client.entity_queries.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_queries_get(self, resource_group):
+ response = self.client.entity_queries.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_queries_create_or_update(self, resource_group):
+ response = self.client.entity_queries.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ entity_query={
+ "kind": "Activity",
+ "content": "str",
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "enabled": bool,
+ "entitiesFilter": {"str": ["str"]},
+ "etag": "str",
+ "id": "str",
+ "inputEntityType": "str",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "queryDefinitions": {"query": "str"},
+ "requiredInputFieldsSets": [["str"]],
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "templateName": "str",
+ "title": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_queries_delete(self, resource_group):
+ response = self.client.entity_queries.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations_async.py
new file mode 100644
index 000000000000..6789e162cd07
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_queries_operations_async.py
@@ -0,0 +1,97 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityQueriesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_queries_list(self, resource_group):
+ response = self.client.entity_queries.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_queries_get(self, resource_group):
+ response = await self.client.entity_queries.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_queries_create_or_update(self, resource_group):
+ response = await self.client.entity_queries.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ entity_query={
+ "kind": "Activity",
+ "content": "str",
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "enabled": bool,
+ "entitiesFilter": {"str": ["str"]},
+ "etag": "str",
+ "id": "str",
+ "inputEntityType": "str",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "queryDefinitions": {"query": "str"},
+ "requiredInputFieldsSets": [["str"]],
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "templateName": "str",
+ "title": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_queries_delete(self, resource_group):
+ response = await self.client.entity_queries.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations.py
new file mode 100644
index 000000000000..476b32fff8cb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations.py
@@ -0,0 +1,44 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityQueryTemplatesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_query_templates_list(self, resource_group):
+ response = self.client.entity_query_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_query_templates_get(self, resource_group):
+ response = self.client.entity_query_templates.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations_async.py
new file mode 100644
index 000000000000..7f6369ce97d8
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_query_templates_operations_async.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityQueryTemplatesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_query_templates_list(self, resource_group):
+ response = self.client.entity_query_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_query_templates_get(self, resource_group):
+ response = await self.client.entity_query_templates.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_query_template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations.py
new file mode 100644
index 000000000000..1253892992ae
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityRelationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_entity_relations_get_relation(self, resource_group):
+ response = self.client.entity_relations.get_relation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations_async.py
new file mode 100644
index 000000000000..a303f13d404a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_entity_relations_operations_async.py
@@ -0,0 +1,34 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsEntityRelationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_entity_relations_get_relation(self, resource_group):
+ response = await self.client.entity_relations.get_relation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ entity_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations.py
new file mode 100644
index 000000000000..6cb687760f2d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations.py
@@ -0,0 +1,108 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsFileImportsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_file_imports_list(self, resource_group):
+ response = self.client.file_imports.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_file_imports_get(self, resource_group):
+ response = self.client.file_imports.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_file_imports_create(self, resource_group):
+ response = self.client.file_imports.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ file_import={
+ "contentType": "str",
+ "createdTimeUTC": "2020-02-20 00:00:00",
+ "errorFile": {
+ "deleteStatus": "str",
+ "fileContentUri": "str",
+ "fileFormat": "str",
+ "fileName": "str",
+ "fileSize": 0,
+ },
+ "errorsPreview": [{"errorMessages": ["str"], "recordIndex": 0}],
+ "filesValidUntilTimeUTC": "2020-02-20 00:00:00",
+ "id": "str",
+ "importFile": {
+ "deleteStatus": "str",
+ "fileContentUri": "str",
+ "fileFormat": "str",
+ "fileName": "str",
+ "fileSize": 0,
+ },
+ "importValidUntilTimeUTC": "2020-02-20 00:00:00",
+ "ingestedRecordCount": 0,
+ "ingestionMode": "str",
+ "name": "str",
+ "source": "str",
+ "state": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "totalRecordCount": 0,
+ "type": "str",
+ "validRecordCount": 0,
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_file_imports_begin_delete(self, resource_group):
+ response = self.client.file_imports.begin_delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ api_version="2024-10-01-preview",
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations_async.py
new file mode 100644
index 000000000000..9b6a072c88dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_file_imports_operations_async.py
@@ -0,0 +1,111 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsFileImportsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_file_imports_list(self, resource_group):
+ response = self.client.file_imports.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_file_imports_get(self, resource_group):
+ response = await self.client.file_imports.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_file_imports_create(self, resource_group):
+ response = await self.client.file_imports.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ file_import={
+ "contentType": "str",
+ "createdTimeUTC": "2020-02-20 00:00:00",
+ "errorFile": {
+ "deleteStatus": "str",
+ "fileContentUri": "str",
+ "fileFormat": "str",
+ "fileName": "str",
+ "fileSize": 0,
+ },
+ "errorsPreview": [{"errorMessages": ["str"], "recordIndex": 0}],
+ "filesValidUntilTimeUTC": "2020-02-20 00:00:00",
+ "id": "str",
+ "importFile": {
+ "deleteStatus": "str",
+ "fileContentUri": "str",
+ "fileFormat": "str",
+ "fileName": "str",
+ "fileSize": 0,
+ },
+ "importValidUntilTimeUTC": "2020-02-20 00:00:00",
+ "ingestedRecordCount": 0,
+ "ingestionMode": "str",
+ "name": "str",
+ "source": "str",
+ "state": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "totalRecordCount": 0,
+ "type": "str",
+ "validRecordCount": 0,
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_file_imports_begin_delete(self, resource_group):
+ response = await (
+ await self.client.file_imports.begin_delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ file_import_id="str",
+ api_version="2024-10-01-preview",
+ )
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations.py
new file mode 100644
index 000000000000..ebf4b5ef0319
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_get_single_recommendation(self, resource_group):
+ response = self.client.get.single_recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations_async.py
new file mode 100644
index 000000000000..2d34be0356ef
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_get_single_recommendation(self, resource_group):
+ response = await self.client.get.single_recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations.py
new file mode 100644
index 000000000000..fdfa2630082d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetRecommendationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_get_recommendations_list(self, resource_group):
+ response = self.client.get_recommendations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations_async.py
new file mode 100644
index 000000000000..68bd151e9948
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_recommendations_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetRecommendationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_get_recommendations_list(self, resource_group):
+ response = self.client.get_recommendations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations.py
new file mode 100644
index 000000000000..d89e0771f3f7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetTriggeredAnalyticsRuleRunsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_get_triggered_analytics_rule_runs_list(self, resource_group):
+ response = self.client.get_triggered_analytics_rule_runs.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations_async.py
new file mode 100644
index 000000000000..6e1f2f8386e7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_get_triggered_analytics_rule_runs_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsGetTriggeredAnalyticsRuleRunsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_get_triggered_analytics_rule_runs_list(self, resource_group):
+ response = self.client.get_triggered_analytics_rule_runs.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations.py
new file mode 100644
index 000000000000..5ba52339a63c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations.py
@@ -0,0 +1,89 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntCommentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_comments_list(self, resource_group):
+ response = self.client.hunt_comments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_comments_get(self, resource_group):
+ response = self.client.hunt_comments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_comments_delete(self, resource_group):
+ response = self.client.hunt_comments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_comments_create_or_update(self, resource_group):
+ response = self.client.hunt_comments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ hunt_comment={
+ "etag": "str",
+ "id": "str",
+ "message": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations_async.py
new file mode 100644
index 000000000000..c50d600b02b1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_comments_operations_async.py
@@ -0,0 +1,90 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntCommentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_comments_list(self, resource_group):
+ response = self.client.hunt_comments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_comments_get(self, resource_group):
+ response = await self.client.hunt_comments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_comments_delete(self, resource_group):
+ response = await self.client.hunt_comments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_comments_create_or_update(self, resource_group):
+ response = await self.client.hunt_comments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_comment_id="str",
+ hunt_comment={
+ "etag": "str",
+ "id": "str",
+ "message": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations.py
new file mode 100644
index 000000000000..86b68fb956a0
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations.py
@@ -0,0 +1,93 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntRelationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_relations_list(self, resource_group):
+ response = self.client.hunt_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_relations_get(self, resource_group):
+ response = self.client.hunt_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_relations_delete(self, resource_group):
+ response = self.client.hunt_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunt_relations_create_or_update(self, resource_group):
+ response = self.client.hunt_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ hunt_relation={
+ "etag": "str",
+ "id": "str",
+ "labels": ["str"],
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relationType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations_async.py
new file mode 100644
index 000000000000..ef4992af91cf
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunt_relations_operations_async.py
@@ -0,0 +1,94 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntRelationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_relations_list(self, resource_group):
+ response = self.client.hunt_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_relations_get(self, resource_group):
+ response = await self.client.hunt_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_relations_delete(self, resource_group):
+ response = await self.client.hunt_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunt_relations_create_or_update(self, resource_group):
+ response = await self.client.hunt_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt_relation_id="str",
+ hunt_relation={
+ "etag": "str",
+ "id": "str",
+ "labels": ["str"],
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relationType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations.py
new file mode 100644
index 000000000000..73d3806b6011
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations.py
@@ -0,0 +1,98 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunts_list(self, resource_group):
+ response = self.client.hunts.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunts_get(self, resource_group):
+ response = self.client.hunts.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunts_delete(self, resource_group):
+ response = self.client.hunts.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_hunts_create_or_update(self, resource_group):
+ response = self.client.hunts.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt={
+ "attackTactics": ["str"],
+ "attackTechniques": ["str"],
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "hypothesisStatus": "Unknown",
+ "id": "str",
+ "labels": ["str"],
+ "name": "str",
+ "owner": {
+ "assignedTo": "str",
+ "email": "str",
+ "objectId": "str",
+ "ownerType": "str",
+ "userPrincipalName": "str",
+ },
+ "status": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations_async.py
new file mode 100644
index 000000000000..92180d7ebe8c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_hunts_operations_async.py
@@ -0,0 +1,99 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsHuntsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunts_list(self, resource_group):
+ response = self.client.hunts.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunts_get(self, resource_group):
+ response = await self.client.hunts.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunts_delete(self, resource_group):
+ response = await self.client.hunts.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_hunts_create_or_update(self, resource_group):
+ response = await self.client.hunts.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ hunt_id="str",
+ hunt={
+ "attackTactics": ["str"],
+ "attackTechniques": ["str"],
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "hypothesisStatus": "Unknown",
+ "id": "str",
+ "labels": ["str"],
+ "name": "str",
+ "owner": {
+ "assignedTo": "str",
+ "email": "str",
+ "objectId": "str",
+ "ownerType": "str",
+ "userPrincipalName": "str",
+ },
+ "status": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations.py
new file mode 100644
index 000000000000..718c18adf714
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations.py
@@ -0,0 +1,92 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentCommentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_comments_list(self, resource_group):
+ response = self.client.incident_comments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_comments_get(self, resource_group):
+ response = self.client.incident_comments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_comments_create_or_update(self, resource_group):
+ response = self.client.incident_comments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ incident_comment={
+ "author": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "message": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_comments_delete(self, resource_group):
+ response = self.client.incident_comments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations_async.py
new file mode 100644
index 000000000000..91c4157ad407
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_comments_operations_async.py
@@ -0,0 +1,93 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentCommentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_comments_list(self, resource_group):
+ response = self.client.incident_comments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_comments_get(self, resource_group):
+ response = await self.client.incident_comments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_comments_create_or_update(self, resource_group):
+ response = await self.client.incident_comments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ incident_comment={
+ "author": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "message": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_comments_delete(self, resource_group):
+ response = await self.client.incident_comments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_comment_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations.py
new file mode 100644
index 000000000000..214aa41b44a6
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations.py
@@ -0,0 +1,92 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentRelationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_relations_list(self, resource_group):
+ response = self.client.incident_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_relations_get(self, resource_group):
+ response = self.client.incident_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_relations_create_or_update(self, resource_group):
+ response = self.client.incident_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ relation={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relatedResourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_relations_delete(self, resource_group):
+ response = self.client.incident_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations_async.py
new file mode 100644
index 000000000000..2b283a478488
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_relations_operations_async.py
@@ -0,0 +1,93 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentRelationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_relations_list(self, resource_group):
+ response = self.client.incident_relations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_relations_get(self, resource_group):
+ response = await self.client.incident_relations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_relations_create_or_update(self, resource_group):
+ response = await self.client.incident_relations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ relation={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "relatedResourceId": "str",
+ "relatedResourceKind": "str",
+ "relatedResourceName": "str",
+ "relatedResourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_relations_delete(self, resource_group):
+ response = await self.client.incident_relations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ relation_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations.py
new file mode 100644
index 000000000000..293e5c3e1a42
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations.py
@@ -0,0 +1,95 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentTasksOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_tasks_list(self, resource_group):
+ response = self.client.incident_tasks.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_tasks_get(self, resource_group):
+ response = self.client.incident_tasks.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_tasks_create_or_update(self, resource_group):
+ response = self.client.incident_tasks.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ incident_task={
+ "status": "str",
+ "title": "str",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedBy": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incident_tasks_delete(self, resource_group):
+ response = self.client.incident_tasks.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations_async.py
new file mode 100644
index 000000000000..69430f854372
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incident_tasks_operations_async.py
@@ -0,0 +1,96 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentTasksOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_tasks_list(self, resource_group):
+ response = self.client.incident_tasks.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_tasks_get(self, resource_group):
+ response = await self.client.incident_tasks.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_tasks_create_or_update(self, resource_group):
+ response = await self.client.incident_tasks.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ incident_task={
+ "status": "str",
+ "title": "str",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "etag": "str",
+ "id": "str",
+ "lastModifiedBy": {"email": "str", "name": "str", "objectId": "str", "userPrincipalName": "str"},
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incident_tasks_delete(self, resource_group):
+ response = await self.client.incident_tasks.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident_task_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations.py
new file mode 100644
index 000000000000..fcc93fb9d172
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations.py
@@ -0,0 +1,176 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_run_playbook(self, resource_group):
+ response = self.client.incidents.run_playbook(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_identifier="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_list(self, resource_group):
+ response = self.client.incidents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_get(self, resource_group):
+ response = self.client.incidents.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_create_or_update(self, resource_group):
+ response = self.client.incidents.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident={
+ "additionalData": {
+ "alertProductNames": ["str"],
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 0,
+ "providerIncidentUrl": "str",
+ "tactics": ["str"],
+ "techniques": ["str"],
+ },
+ "classification": "str",
+ "classificationComment": "str",
+ "classificationReason": "str",
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "etag": "str",
+ "firstActivityTimeUtc": "2020-02-20 00:00:00",
+ "id": "str",
+ "incidentNumber": 0,
+ "incidentUrl": "str",
+ "labels": [{"labelName": "str", "labelType": "str"}],
+ "lastActivityTimeUtc": "2020-02-20 00:00:00",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "owner": {
+ "assignedTo": "str",
+ "email": "str",
+ "objectId": "str",
+ "ownerType": "str",
+ "userPrincipalName": "str",
+ },
+ "providerIncidentId": "str",
+ "providerName": "str",
+ "relatedAnalyticRuleIds": ["str"],
+ "severity": "str",
+ "status": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "teamInformation": {
+ "description": "str",
+ "name": "str",
+ "primaryChannelUrl": "str",
+ "teamCreationTimeUtc": "2020-02-20 00:00:00",
+ "teamId": "str",
+ },
+ "title": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_delete(self, resource_group):
+ response = self.client.incidents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_list_alerts(self, resource_group):
+ response = self.client.incidents.list_alerts(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_list_bookmarks(self, resource_group):
+ response = self.client.incidents.list_bookmarks(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_incidents_list_entities(self, resource_group):
+ response = self.client.incidents.list_entities(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations_async.py
new file mode 100644
index 000000000000..40ef8acca165
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_incidents_operations_async.py
@@ -0,0 +1,177 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsIncidentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_run_playbook(self, resource_group):
+ response = await self.client.incidents.run_playbook(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_identifier="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_list(self, resource_group):
+ response = self.client.incidents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_get(self, resource_group):
+ response = await self.client.incidents.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_create_or_update(self, resource_group):
+ response = await self.client.incidents.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ incident={
+ "additionalData": {
+ "alertProductNames": ["str"],
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 0,
+ "providerIncidentUrl": "str",
+ "tactics": ["str"],
+ "techniques": ["str"],
+ },
+ "classification": "str",
+ "classificationComment": "str",
+ "classificationReason": "str",
+ "createdTimeUtc": "2020-02-20 00:00:00",
+ "description": "str",
+ "etag": "str",
+ "firstActivityTimeUtc": "2020-02-20 00:00:00",
+ "id": "str",
+ "incidentNumber": 0,
+ "incidentUrl": "str",
+ "labels": [{"labelName": "str", "labelType": "str"}],
+ "lastActivityTimeUtc": "2020-02-20 00:00:00",
+ "lastModifiedTimeUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "owner": {
+ "assignedTo": "str",
+ "email": "str",
+ "objectId": "str",
+ "ownerType": "str",
+ "userPrincipalName": "str",
+ },
+ "providerIncidentId": "str",
+ "providerName": "str",
+ "relatedAnalyticRuleIds": ["str"],
+ "severity": "str",
+ "status": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "teamInformation": {
+ "description": "str",
+ "name": "str",
+ "primaryChannelUrl": "str",
+ "teamCreationTimeUtc": "2020-02-20 00:00:00",
+ "teamId": "str",
+ },
+ "title": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_delete(self, resource_group):
+ response = await self.client.incidents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_list_alerts(self, resource_group):
+ response = await self.client.incidents.list_alerts(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_list_bookmarks(self, resource_group):
+ response = await self.client.incidents.list_bookmarks(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_incidents_list_entities(self, resource_group):
+ response = await self.client.incidents.list_entities(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ incident_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations.py
new file mode 100644
index 000000000000..8034bf14df87
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations.py
@@ -0,0 +1,163 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsMetadataOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_metadata_list(self, resource_group):
+ response = self.client.metadata.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_metadata_get(self, resource_group):
+ response = self.client.metadata.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_metadata_delete(self, resource_group):
+ response = self.client.metadata.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_metadata_create(self, resource_group):
+ response = self.client.metadata.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ metadata={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "kind": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "parentId": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_metadata_update(self, resource_group):
+ response = self.client.metadata.update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ metadata_patch={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "kind": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "parentId": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations_async.py
new file mode 100644
index 000000000000..3bf8bcf9d6d6
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_metadata_operations_async.py
@@ -0,0 +1,164 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsMetadataOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_metadata_list(self, resource_group):
+ response = self.client.metadata.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_metadata_get(self, resource_group):
+ response = await self.client.metadata.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_metadata_delete(self, resource_group):
+ response = await self.client.metadata.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_metadata_create(self, resource_group):
+ response = await self.client.metadata.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ metadata={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "kind": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "parentId": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_metadata_update(self, resource_group):
+ response = await self.client.metadata.update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ metadata_name="str",
+ metadata_patch={
+ "author": {"email": "str", "link": "str", "name": "str"},
+ "categories": {"domains": ["str"], "verticals": ["str"]},
+ "contentId": "str",
+ "contentSchemaVersion": "str",
+ "customVersion": "str",
+ "dependencies": {
+ "contentId": "str",
+ "criteria": [...],
+ "kind": "str",
+ "name": "str",
+ "operator": "str",
+ "version": "str",
+ },
+ "etag": "str",
+ "firstPublishDate": "2020-02-20",
+ "icon": "str",
+ "id": "str",
+ "kind": "str",
+ "lastPublishDate": "2020-02-20",
+ "name": "str",
+ "parentId": "str",
+ "previewImages": ["str"],
+ "previewImagesDark": ["str"],
+ "providers": ["str"],
+ "source": {"kind": "str", "name": "str", "sourceId": "str"},
+ "support": {"tier": "str", "email": "str", "link": "str", "name": "str"},
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatAnalysisTactics": ["str"],
+ "threatAnalysisTechniques": ["str"],
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations.py
new file mode 100644
index 000000000000..ffcd172a2893
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations.py
@@ -0,0 +1,57 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsOfficeConsentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_office_consents_list(self, resource_group):
+ response = self.client.office_consents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_office_consents_get(self, resource_group):
+ response = self.client.office_consents.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ consent_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_office_consents_delete(self, resource_group):
+ response = self.client.office_consents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ consent_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations_async.py
new file mode 100644
index 000000000000..90018cc9af13
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_office_consents_operations_async.py
@@ -0,0 +1,58 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsOfficeConsentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_office_consents_list(self, resource_group):
+ response = self.client.office_consents.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_office_consents_get(self, resource_group):
+ response = await self.client.office_consents.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ consent_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_office_consents_delete(self, resource_group):
+ response = await self.client.office_consents.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ consent_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations.py
new file mode 100644
index 000000000000..7537ed72a886
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations.py
@@ -0,0 +1,29 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_operations_list(self, resource_group):
+ response = self.client.operations.list(
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations_async.py
new file mode 100644
index 000000000000..848f6c7c9b2e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_operations_async.py
@@ -0,0 +1,30 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_operations_list(self, resource_group):
+ response = self.client.operations.list(
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations.py
new file mode 100644
index 000000000000..a5c75f84ca7a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductPackageOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_package_get(self, resource_group):
+ response = self.client.product_package.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations_async.py
new file mode 100644
index 000000000000..c4d430dc819b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_package_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductPackageOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_package_get(self, resource_group):
+ response = await self.client.product_package.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ package_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations.py
new file mode 100644
index 000000000000..340b4adfd338
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductPackagesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_packages_list(self, resource_group):
+ response = self.client.product_packages.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations_async.py
new file mode 100644
index 000000000000..4e127ed599fb
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_packages_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductPackagesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_packages_list(self, resource_group):
+ response = self.client.product_packages.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations.py
new file mode 100644
index 000000000000..0d13a0d7f599
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations.py
@@ -0,0 +1,86 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductSettingsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_settings_list(self, resource_group):
+ response = self.client.product_settings.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_settings_get(self, resource_group):
+ response = self.client.product_settings.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_settings_delete(self, resource_group):
+ response = self.client.product_settings.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_settings_update(self, resource_group):
+ response = self.client.product_settings.update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ settings={
+ "kind": "Anomalies",
+ "etag": "str",
+ "id": "str",
+ "isEnabled": bool,
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations_async.py
new file mode 100644
index 000000000000..d608c4fe1652
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_settings_operations_async.py
@@ -0,0 +1,87 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductSettingsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_settings_list(self, resource_group):
+ response = self.client.product_settings.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_settings_get(self, resource_group):
+ response = await self.client.product_settings.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_settings_delete(self, resource_group):
+ response = await self.client.product_settings.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_settings_update(self, resource_group):
+ response = await self.client.product_settings.update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_name="str",
+ settings={
+ "kind": "Anomalies",
+ "etag": "str",
+ "id": "str",
+ "isEnabled": bool,
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations.py
new file mode 100644
index 000000000000..aa2a96b78d4d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductTemplateOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_template_get(self, resource_group):
+ response = self.client.product_template.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations_async.py
new file mode 100644
index 000000000000..805db52a9de1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_template_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductTemplateOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_template_get(self, resource_group):
+ response = await self.client.product_template.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ template_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations.py
new file mode 100644
index 000000000000..d357a2b4dead
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductTemplatesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_product_templates_list(self, resource_group):
+ response = self.client.product_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations_async.py
new file mode 100644
index 000000000000..713b04e93a24
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_product_templates_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsProductTemplatesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_product_templates_list(self, resource_group):
+ response = self.client.product_templates.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations.py
new file mode 100644
index 000000000000..78b91815dfde
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsReevaluateOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_reevaluate_recommendation(self, resource_group):
+ response = self.client.reevaluate.recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations_async.py
new file mode 100644
index 000000000000..9ffa1c69700e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_reevaluate_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsReevaluateOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_reevaluate_recommendation(self, resource_group):
+ response = await self.client.reevaluate.recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations.py
new file mode 100644
index 000000000000..0680e2f951c5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations.py
@@ -0,0 +1,99 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSecurityMLAnalyticsSettingsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_security_ml_analytics_settings_list(self, resource_group):
+ response = self.client.security_ml_analytics_settings.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_security_ml_analytics_settings_get(self, resource_group):
+ response = self.client.security_ml_analytics_settings.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_security_ml_analytics_settings_create_or_update(self, resource_group):
+ response = self.client.security_ml_analytics_settings.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ security_ml_analytics_setting={
+ "kind": "Anomaly",
+ "anomalySettingsVersion": 0,
+ "anomalyVersion": "str",
+ "customizableObservations": {},
+ "description": "str",
+ "displayName": "str",
+ "enabled": bool,
+ "etag": "str",
+ "frequency": "1 day, 0:00:00",
+ "id": "str",
+ "isDefaultSettings": bool,
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "requiredDataConnectors": [{"connectorId": "str", "dataTypes": ["str"]}],
+ "settingsDefinitionId": "str",
+ "settingsStatus": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_security_ml_analytics_settings_delete(self, resource_group):
+ response = self.client.security_ml_analytics_settings.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations_async.py
new file mode 100644
index 000000000000..0c55fde325f3
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_security_ml_analytics_settings_operations_async.py
@@ -0,0 +1,100 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSecurityMLAnalyticsSettingsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_security_ml_analytics_settings_list(self, resource_group):
+ response = self.client.security_ml_analytics_settings.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_security_ml_analytics_settings_get(self, resource_group):
+ response = await self.client.security_ml_analytics_settings.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_security_ml_analytics_settings_create_or_update(self, resource_group):
+ response = await self.client.security_ml_analytics_settings.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ security_ml_analytics_setting={
+ "kind": "Anomaly",
+ "anomalySettingsVersion": 0,
+ "anomalyVersion": "str",
+ "customizableObservations": {},
+ "description": "str",
+ "displayName": "str",
+ "enabled": bool,
+ "etag": "str",
+ "frequency": "1 day, 0:00:00",
+ "id": "str",
+ "isDefaultSettings": bool,
+ "lastModifiedUtc": "2020-02-20 00:00:00",
+ "name": "str",
+ "requiredDataConnectors": [{"connectorId": "str", "dataTypes": ["str"]}],
+ "settingsDefinitionId": "str",
+ "settingsStatus": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tactics": ["str"],
+ "techniques": ["str"],
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_security_ml_analytics_settings_delete(self, resource_group):
+ response = await self.client.security_ml_analytics_settings.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ settings_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations.py
new file mode 100644
index 000000000000..7c73d1aba488
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations.py
@@ -0,0 +1,70 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSentinelOnboardingStatesOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_sentinel_onboarding_states_get(self, resource_group):
+ response = self.client.sentinel_onboarding_states.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_sentinel_onboarding_states_create(self, resource_group):
+ response = self.client.sentinel_onboarding_states.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_sentinel_onboarding_states_delete(self, resource_group):
+ response = self.client.sentinel_onboarding_states.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_sentinel_onboarding_states_list(self, resource_group):
+ response = self.client.sentinel_onboarding_states.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations_async.py
new file mode 100644
index 000000000000..b9ecd25792b7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_sentinel_onboarding_states_operations_async.py
@@ -0,0 +1,71 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSentinelOnboardingStatesOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_sentinel_onboarding_states_get(self, resource_group):
+ response = await self.client.sentinel_onboarding_states.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_sentinel_onboarding_states_create(self, resource_group):
+ response = await self.client.sentinel_onboarding_states.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_sentinel_onboarding_states_delete(self, resource_group):
+ response = await self.client.sentinel_onboarding_states.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ sentinel_onboarding_state_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_sentinel_onboarding_states_list(self, resource_group):
+ response = await self.client.sentinel_onboarding_states.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations.py
new file mode 100644
index 000000000000..c33538b98d69
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations.py
@@ -0,0 +1,39 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSourceControlOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_source_control_list_repositories(self, resource_group):
+ response = self.client.source_control.list_repositories(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ repository_access={
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations_async.py
new file mode 100644
index 000000000000..83d9e2e3c49f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_control_operations_async.py
@@ -0,0 +1,40 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSourceControlOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_source_control_list_repositories(self, resource_group):
+ response = self.client.source_control.list_repositories(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ repository_access={
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations.py
new file mode 100644
index 000000000000..ce96dc01e967
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations.py
@@ -0,0 +1,134 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSourceControlsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_source_controls_list(self, resource_group):
+ response = self.client.source_controls.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_source_controls_get(self, resource_group):
+ response = self.client.source_controls.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_source_controls_create(self, resource_group):
+ response = self.client.source_controls.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ source_control={
+ "contentTypes": ["str"],
+ "displayName": "str",
+ "repoType": "str",
+ "repository": {"branch": "str", "url": "str", "deploymentLogsUrl": "str", "displayUrl": "str"},
+ "description": "str",
+ "etag": "str",
+ "id": "str",
+ "lastDeploymentInfo": {
+ "deployment": {
+ "deploymentId": "str",
+ "deploymentLogsUrl": "str",
+ "deploymentResult": "str",
+ "deploymentState": "str",
+ "deploymentTime": "2020-02-20 00:00:00",
+ },
+ "deploymentFetchStatus": "str",
+ "message": "str",
+ },
+ "name": "str",
+ "pullRequest": {"state": "str", "url": "str"},
+ "repositoryAccess": {
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ "repositoryResourceInfo": {
+ "azureDevOpsResourceInfo": {"pipelineId": "str", "serviceConnectionId": "str"},
+ "gitHubResourceInfo": {"appInstallationId": "str"},
+ "webhook": {
+ "rotateWebhookSecret": bool,
+ "webhookId": "str",
+ "webhookSecretUpdateTime": "2020-02-20 00:00:00",
+ "webhookUrl": "str",
+ },
+ },
+ "servicePrincipal": {
+ "appId": "str",
+ "credentialsExpireOn": "2020-02-20 00:00:00",
+ "id": "str",
+ "tenantId": "str",
+ },
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_source_controls_delete(self, resource_group):
+ response = self.client.source_controls.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ repository_access={
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations_async.py
new file mode 100644
index 000000000000..85b08493e53c
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_source_controls_operations_async.py
@@ -0,0 +1,135 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSourceControlsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_source_controls_list(self, resource_group):
+ response = self.client.source_controls.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_source_controls_get(self, resource_group):
+ response = await self.client.source_controls.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_source_controls_create(self, resource_group):
+ response = await self.client.source_controls.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ source_control={
+ "contentTypes": ["str"],
+ "displayName": "str",
+ "repoType": "str",
+ "repository": {"branch": "str", "url": "str", "deploymentLogsUrl": "str", "displayUrl": "str"},
+ "description": "str",
+ "etag": "str",
+ "id": "str",
+ "lastDeploymentInfo": {
+ "deployment": {
+ "deploymentId": "str",
+ "deploymentLogsUrl": "str",
+ "deploymentResult": "str",
+ "deploymentState": "str",
+ "deploymentTime": "2020-02-20 00:00:00",
+ },
+ "deploymentFetchStatus": "str",
+ "message": "str",
+ },
+ "name": "str",
+ "pullRequest": {"state": "str", "url": "str"},
+ "repositoryAccess": {
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ "repositoryResourceInfo": {
+ "azureDevOpsResourceInfo": {"pipelineId": "str", "serviceConnectionId": "str"},
+ "gitHubResourceInfo": {"appInstallationId": "str"},
+ "webhook": {
+ "rotateWebhookSecret": bool,
+ "webhookId": "str",
+ "webhookSecretUpdateTime": "2020-02-20 00:00:00",
+ "webhookUrl": "str",
+ },
+ },
+ "servicePrincipal": {
+ "appId": "str",
+ "credentialsExpireOn": "2020-02-20 00:00:00",
+ "id": "str",
+ "tenantId": "str",
+ },
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ "version": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_source_controls_delete(self, resource_group):
+ response = await self.client.source_controls.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ source_control_id="str",
+ repository_access={
+ "kind": "str",
+ "clientId": "str",
+ "code": "str",
+ "installationId": "str",
+ "state": "str",
+ "token": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations.py
new file mode 100644
index 000000000000..eadef48a60dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations.py
@@ -0,0 +1,116 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSystemsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_create_or_update(self, resource_group):
+ response = self.client.systems.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_get(self, resource_group):
+ response = self.client.systems.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_delete(self, resource_group):
+ response = self.client.systems.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_list(self, resource_group):
+ response = self.client.systems.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_list_actions(self, resource_group):
+ response = self.client.systems.list_actions(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_undo_action(self, resource_group):
+ response = self.client.systems.undo_action(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_systems_report_action_status(self, resource_group):
+ response = self.client.systems.report_action_status(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations_async.py
new file mode 100644
index 000000000000..468ed44ec8ee
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_systems_operations_async.py
@@ -0,0 +1,117 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsSystemsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_create_or_update(self, resource_group):
+ response = await self.client.systems.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_get(self, resource_group):
+ response = await self.client.systems.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_delete(self, resource_group):
+ response = await self.client.systems.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_list(self, resource_group):
+ response = self.client.systems.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_list_actions(self, resource_group):
+ response = self.client.systems.list_actions(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_undo_action(self, resource_group):
+ response = await self.client.systems.undo_action(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_systems_report_action_status(self, resource_group):
+ response = await self.client.systems.report_action_status(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ agent_resource_name="str",
+ system_resource_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations.py
new file mode 100644
index 000000000000..55b85de9e92f
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorMetricsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_metrics_list(self, resource_group):
+ response = self.client.threat_intelligence_indicator_metrics.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations_async.py
new file mode 100644
index 000000000000..e97e5bacb8c5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_metrics_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorMetricsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_metrics_list(self, resource_group):
+ response = await self.client.threat_intelligence_indicator_metrics.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations.py
new file mode 100644
index 000000000000..0fe4cf9e1e05
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations.py
@@ -0,0 +1,289 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_create_indicator(self, resource_group):
+ response = self.client.threat_intelligence_indicator.create_indicator(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ threat_intelligence_properties={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_get(self, resource_group):
+ response = self.client.threat_intelligence_indicator.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_create(self, resource_group):
+ response = self.client.threat_intelligence_indicator.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_properties={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_delete(self, resource_group):
+ response = self.client.threat_intelligence_indicator.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_query_indicators(self, resource_group):
+ response = self.client.threat_intelligence_indicator.query_indicators(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ threat_intelligence_filtering_criteria={
+ "ids": ["str"],
+ "includeDisabled": bool,
+ "keywords": ["str"],
+ "maxConfidence": 0,
+ "maxValidUntil": "str",
+ "minConfidence": 0,
+ "minValidUntil": "str",
+ "pageSize": 0,
+ "patternTypes": ["str"],
+ "skipToken": "str",
+ "sortBy": [{"itemKey": "str", "sortOrder": "str"}],
+ "sources": ["str"],
+ "threatTypes": ["str"],
+ },
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_append_tags(self, resource_group):
+ response = self.client.threat_intelligence_indicator.append_tags(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_append_tags={"threatIntelligenceTags": ["str"]},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicator_replace_tags(self, resource_group):
+ response = self.client.threat_intelligence_indicator.replace_tags(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_replace_tags={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations_async.py
new file mode 100644
index 000000000000..dad047f3d5d2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicator_operations_async.py
@@ -0,0 +1,290 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_create_indicator(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.create_indicator(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ threat_intelligence_properties={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_get(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_create(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_properties={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_delete(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_query_indicators(self, resource_group):
+ response = self.client.threat_intelligence_indicator.query_indicators(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ threat_intelligence_filtering_criteria={
+ "ids": ["str"],
+ "includeDisabled": bool,
+ "keywords": ["str"],
+ "maxConfidence": 0,
+ "maxValidUntil": "str",
+ "minConfidence": 0,
+ "minValidUntil": "str",
+ "pageSize": 0,
+ "patternTypes": ["str"],
+ "skipToken": "str",
+ "sortBy": [{"itemKey": "str", "sortOrder": "str"}],
+ "sources": ["str"],
+ "threatTypes": ["str"],
+ },
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_append_tags(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.append_tags(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_append_tags={"threatIntelligenceTags": ["str"]},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicator_replace_tags(self, resource_group):
+ response = await self.client.threat_intelligence_indicator.replace_tags(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ name="str",
+ threat_intelligence_replace_tags={
+ "kind": "indicator",
+ "additionalData": {"str": {}},
+ "confidence": 0,
+ "created": "str",
+ "createdByRef": "str",
+ "defanged": bool,
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "extensions": {"str": {}},
+ "externalId": "str",
+ "externalLastUpdatedTimeUtc": "str",
+ "externalReferences": [
+ {
+ "description": "str",
+ "externalId": "str",
+ "hashes": {"str": "str"},
+ "sourceName": "str",
+ "url": "str",
+ }
+ ],
+ "friendlyName": "str",
+ "granularMarkings": [{"language": "str", "markingRef": 0, "selectors": ["str"]}],
+ "id": "str",
+ "indicatorTypes": ["str"],
+ "killChainPhases": [{"killChainName": "str", "phaseName": "str"}],
+ "labels": ["str"],
+ "language": "str",
+ "lastUpdatedTimeUtc": "str",
+ "modified": "str",
+ "name": "str",
+ "objectMarkingRefs": ["str"],
+ "parsedPattern": [
+ {"patternTypeKey": "str", "patternTypeValues": [{"value": "str", "valueType": "str"}]}
+ ],
+ "pattern": "str",
+ "patternType": "str",
+ "patternVersion": "str",
+ "revoked": bool,
+ "source": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "threatIntelligenceTags": ["str"],
+ "threatTypes": ["str"],
+ "type": "str",
+ "validFrom": "str",
+ "validUntil": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations.py
new file mode 100644
index 000000000000..55cae1ab741a
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_indicators_list(self, resource_group):
+ response = self.client.threat_intelligence_indicators.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations_async.py
new file mode 100644
index 000000000000..6e711020e9dd
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_indicators_operations_async.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceIndicatorsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_indicators_list(self, resource_group):
+ response = self.client.threat_intelligence_indicators.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations.py
new file mode 100644
index 000000000000..e641af2d43b7
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations.py
@@ -0,0 +1,45 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_count(self, resource_group):
+ response = self.client.threat_intelligence.count(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ ti_type="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_threat_intelligence_query(self, resource_group):
+ response = self.client.threat_intelligence.query(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ ti_type="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations_async.py
new file mode 100644
index 000000000000..df5a069f5cfa
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_threat_intelligence_operations_async.py
@@ -0,0 +1,46 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsThreatIntelligenceOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_count(self, resource_group):
+ response = await self.client.threat_intelligence.count(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ ti_type="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_threat_intelligence_query(self, resource_group):
+ response = self.client.threat_intelligence.query(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ ti_type="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations.py
new file mode 100644
index 000000000000..14d0b1879e6e
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsTriggeredAnalyticsRuleRunOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_triggered_analytics_rule_run_get(self, resource_group):
+ response = self.client.triggered_analytics_rule_run.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_run_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations_async.py
new file mode 100644
index 000000000000..a271ccaab8f4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_triggered_analytics_rule_run_operations_async.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsTriggeredAnalyticsRuleRunOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_triggered_analytics_rule_run_get(self, resource_group):
+ response = await self.client.triggered_analytics_rule_run.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ rule_run_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations.py
new file mode 100644
index 000000000000..93ac70d5d144
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations.py
@@ -0,0 +1,33 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsUpdateOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_update_recommendation(self, resource_group):
+ response = self.client.update.recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ recommendation_patch={"properties": {"state": "str"}},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations_async.py
new file mode 100644
index 000000000000..4d454a8cc260
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_update_operations_async.py
@@ -0,0 +1,34 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsUpdateOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_update_recommendation(self, resource_group):
+ response = await self.client.update.recommendation(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ recommendation_id="str",
+ recommendation_patch={"properties": {"state": "str"}},
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations.py
new file mode 100644
index 000000000000..7358a9a97fed
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations.py
@@ -0,0 +1,98 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWatchlistItemsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlist_items_list(self, resource_group):
+ response = self.client.watchlist_items.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlist_items_get(self, resource_group):
+ response = self.client.watchlist_items.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlist_items_delete(self, resource_group):
+ response = self.client.watchlist_items.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlist_items_create_or_update(self, resource_group):
+ response = self.client.watchlist_items.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ watchlist_item={
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "entityMapping": {},
+ "etag": "str",
+ "id": "str",
+ "isDeleted": bool,
+ "itemsKeyValue": {},
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tenantId": "str",
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ "watchlistItemId": "str",
+ "watchlistItemType": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations_async.py
new file mode 100644
index 000000000000..dbf1ed31abf5
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlist_items_operations_async.py
@@ -0,0 +1,99 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWatchlistItemsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlist_items_list(self, resource_group):
+ response = self.client.watchlist_items.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlist_items_get(self, resource_group):
+ response = await self.client.watchlist_items.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlist_items_delete(self, resource_group):
+ response = await self.client.watchlist_items.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlist_items_create_or_update(self, resource_group):
+ response = await self.client.watchlist_items.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist_item_id="str",
+ watchlist_item={
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "entityMapping": {},
+ "etag": "str",
+ "id": "str",
+ "isDeleted": bool,
+ "itemsKeyValue": {},
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tenantId": "str",
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ "watchlistItemId": "str",
+ "watchlistItemType": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations.py
new file mode 100644
index 000000000000..ad393297a5e4
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations.py
@@ -0,0 +1,106 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWatchlistsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlists_list(self, resource_group):
+ response = self.client.watchlists.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlists_get(self, resource_group):
+ response = self.client.watchlists.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlists_begin_delete(self, resource_group):
+ response = self.client.watchlists.begin_delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_watchlists_begin_create_or_update(self, resource_group):
+ response = self.client.watchlists.begin_create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist={
+ "contentType": "str",
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "defaultDuration": "1 day, 0:00:00",
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "id": "str",
+ "isDeleted": bool,
+ "itemsSearchKey": "str",
+ "labels": ["str"],
+ "name": "str",
+ "numberOfLinesToSkip": 0,
+ "provider": "str",
+ "provisioningState": "str",
+ "rawContent": "str",
+ "source": "str",
+ "sourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tenantId": "str",
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ "uploadStatus": "str",
+ "watchlistAlias": "str",
+ "watchlistId": "str",
+ "watchlistType": "str",
+ },
+ api_version="2024-10-01-preview",
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations_async.py
new file mode 100644
index 000000000000..96cec4c7b6e0
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_watchlists_operations_async.py
@@ -0,0 +1,111 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWatchlistsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlists_list(self, resource_group):
+ response = self.client.watchlists.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlists_get(self, resource_group):
+ response = await self.client.watchlists.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlists_begin_delete(self, resource_group):
+ response = await (
+ await self.client.watchlists.begin_delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ api_version="2024-10-01-preview",
+ )
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_watchlists_begin_create_or_update(self, resource_group):
+ response = await (
+ await self.client.watchlists.begin_create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ watchlist_alias="str",
+ watchlist={
+ "contentType": "str",
+ "created": "2020-02-20 00:00:00",
+ "createdBy": {"email": "str", "name": "str", "objectId": "str"},
+ "defaultDuration": "1 day, 0:00:00",
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "id": "str",
+ "isDeleted": bool,
+ "itemsSearchKey": "str",
+ "labels": ["str"],
+ "name": "str",
+ "numberOfLinesToSkip": 0,
+ "provider": "str",
+ "provisioningState": "str",
+ "rawContent": "str",
+ "source": "str",
+ "sourceType": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "tenantId": "str",
+ "type": "str",
+ "updated": "2020-02-20 00:00:00",
+ "updatedBy": {"email": "str", "name": "str", "objectId": "str"},
+ "uploadStatus": "str",
+ "watchlistAlias": "str",
+ "watchlistId": "str",
+ "watchlistType": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+ ).result() # call '.result()' to poll until service return final result
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations.py
new file mode 100644
index 000000000000..bd04f947310d
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations.py
@@ -0,0 +1,73 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerAssignmentJobsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignment_jobs_list(self, resource_group):
+ response = self.client.workspace_manager_assignment_jobs.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignment_jobs_create(self, resource_group):
+ response = self.client.workspace_manager_assignment_jobs.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignment_jobs_get(self, resource_group):
+ response = self.client.workspace_manager_assignment_jobs.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ job_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignment_jobs_delete(self, resource_group):
+ response = self.client.workspace_manager_assignment_jobs.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ job_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations_async.py
new file mode 100644
index 000000000000..4c1b4e7883af
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignment_jobs_operations_async.py
@@ -0,0 +1,74 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerAssignmentJobsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignment_jobs_list(self, resource_group):
+ response = self.client.workspace_manager_assignment_jobs.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignment_jobs_create(self, resource_group):
+ response = await self.client.workspace_manager_assignment_jobs.create(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignment_jobs_get(self, resource_group):
+ response = await self.client.workspace_manager_assignment_jobs.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ job_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignment_jobs_delete(self, resource_group):
+ response = await self.client.workspace_manager_assignment_jobs.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ job_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations.py
new file mode 100644
index 000000000000..2bef3f4ffdea
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations.py
@@ -0,0 +1,88 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerAssignmentsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignments_list(self, resource_group):
+ response = self.client.workspace_manager_assignments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignments_get(self, resource_group):
+ response = self.client.workspace_manager_assignments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignments_create_or_update(self, resource_group):
+ response = self.client.workspace_manager_assignments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ workspace_manager_assignment={
+ "etag": "str",
+ "id": "str",
+ "items": [{"resourceId": "str"}],
+ "lastJobEndTime": "2020-02-20 00:00:00",
+ "lastJobProvisioningState": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "targetResourceName": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_assignments_delete(self, resource_group):
+ response = self.client.workspace_manager_assignments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations_async.py
new file mode 100644
index 000000000000..a082c80cc2aa
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_assignments_operations_async.py
@@ -0,0 +1,89 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerAssignmentsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignments_list(self, resource_group):
+ response = self.client.workspace_manager_assignments.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignments_get(self, resource_group):
+ response = await self.client.workspace_manager_assignments.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignments_create_or_update(self, resource_group):
+ response = await self.client.workspace_manager_assignments.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ workspace_manager_assignment={
+ "etag": "str",
+ "id": "str",
+ "items": [{"resourceId": "str"}],
+ "lastJobEndTime": "2020-02-20 00:00:00",
+ "lastJobProvisioningState": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "targetResourceName": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_assignments_delete(self, resource_group):
+ response = await self.client.workspace_manager_assignments.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_assignment_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations.py
new file mode 100644
index 000000000000..b8a8f715c605
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations.py
@@ -0,0 +1,85 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerConfigurationsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_configurations_list(self, resource_group):
+ response = self.client.workspace_manager_configurations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_configurations_get(self, resource_group):
+ response = self.client.workspace_manager_configurations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_configurations_delete(self, resource_group):
+ response = self.client.workspace_manager_configurations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_configurations_create_or_update(self, resource_group):
+ response = self.client.workspace_manager_configurations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ workspace_manager_configuration={
+ "etag": "str",
+ "id": "str",
+ "mode": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations_async.py
new file mode 100644
index 000000000000..d2db9fa83acc
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_configurations_operations_async.py
@@ -0,0 +1,86 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerConfigurationsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_configurations_list(self, resource_group):
+ response = self.client.workspace_manager_configurations.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_configurations_get(self, resource_group):
+ response = await self.client.workspace_manager_configurations.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_configurations_delete(self, resource_group):
+ response = await self.client.workspace_manager_configurations.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_configurations_create_or_update(self, resource_group):
+ response = await self.client.workspace_manager_configurations.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_configuration_name="str",
+ workspace_manager_configuration={
+ "etag": "str",
+ "id": "str",
+ "mode": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations.py
new file mode 100644
index 000000000000..a08c3be8f0a1
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations.py
@@ -0,0 +1,87 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerGroupsOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_groups_list(self, resource_group):
+ response = self.client.workspace_manager_groups.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_groups_get(self, resource_group):
+ response = self.client.workspace_manager_groups.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_groups_create_or_update(self, resource_group):
+ response = self.client.workspace_manager_groups.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ workspace_manager_group={
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "id": "str",
+ "memberResourceNames": ["str"],
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_groups_delete(self, resource_group):
+ response = self.client.workspace_manager_groups.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations_async.py
new file mode 100644
index 000000000000..538098f11b50
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_groups_operations_async.py
@@ -0,0 +1,88 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerGroupsOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_groups_list(self, resource_group):
+ response = self.client.workspace_manager_groups.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_groups_get(self, resource_group):
+ response = await self.client.workspace_manager_groups.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_groups_create_or_update(self, resource_group):
+ response = await self.client.workspace_manager_groups.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ workspace_manager_group={
+ "description": "str",
+ "displayName": "str",
+ "etag": "str",
+ "id": "str",
+ "memberResourceNames": ["str"],
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_groups_delete(self, resource_group):
+ response = await self.client.workspace_manager_groups.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_group_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations.py
new file mode 100644
index 000000000000..cc39a96278f9
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations.py
@@ -0,0 +1,86 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerMembersOperations(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_members_list(self, resource_group):
+ response = self.client.workspace_manager_members.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_members_get(self, resource_group):
+ response = self.client.workspace_manager_members.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_members_create_or_update(self, resource_group):
+ response = self.client.workspace_manager_members.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ workspace_manager_member={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "targetWorkspaceResourceId": "str",
+ "targetWorkspaceTenantId": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy
+ def test_workspace_manager_members_delete(self, resource_group):
+ response = self.client.workspace_manager_members.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations_async.py b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations_async.py
new file mode 100644
index 000000000000..453955697b0b
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/generated_tests/test_security_insights_workspace_manager_members_operations_async.py
@@ -0,0 +1,87 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+import pytest
+from azure.mgmt.securityinsight.aio import SecurityInsights
+
+from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer
+from devtools_testutils.aio import recorded_by_proxy_async
+
+AZURE_LOCATION = "eastus"
+
+
+@pytest.mark.skip("you may need to update the auto-generated test case before run it")
+class TestSecurityInsightsWorkspaceManagerMembersOperationsAsync(AzureMgmtRecordedTestCase):
+ def setup_method(self, method):
+ self.client = self.create_mgmt_client(SecurityInsights, is_async=True)
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_members_list(self, resource_group):
+ response = self.client.workspace_manager_members.list(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ api_version="2024-10-01-preview",
+ )
+ result = [r async for r in response]
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_members_get(self, resource_group):
+ response = await self.client.workspace_manager_members.get(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_members_create_or_update(self, resource_group):
+ response = await self.client.workspace_manager_members.create_or_update(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ workspace_manager_member={
+ "etag": "str",
+ "id": "str",
+ "name": "str",
+ "systemData": {
+ "createdAt": "2020-02-20 00:00:00",
+ "createdBy": "str",
+ "createdByType": "str",
+ "lastModifiedAt": "2020-02-20 00:00:00",
+ "lastModifiedBy": "str",
+ "lastModifiedByType": "str",
+ },
+ "targetWorkspaceResourceId": "str",
+ "targetWorkspaceTenantId": "str",
+ "type": "str",
+ },
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
+
+ @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
+ @recorded_by_proxy_async
+ async def test_workspace_manager_members_delete(self, resource_group):
+ response = await self.client.workspace_manager_members.delete(
+ resource_group_name=resource_group.name,
+ workspace_name="str",
+ workspace_manager_member_name="str",
+ api_version="2024-10-01-preview",
+ )
+
+ # please add some check logic here by yourself
+ # ...
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/setup.py b/sdk/securityinsight/azure-mgmt-securityinsight/setup.py
index 73a9001cd3fd..fb4e6f0ead80 100644
--- a/sdk/securityinsight/azure-mgmt-securityinsight/setup.py
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/setup.py
@@ -1,10 +1,10 @@
#!/usr/bin/env python
-#-------------------------------------------------------------------------
+# -------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
-#--------------------------------------------------------------------------
+# --------------------------------------------------------------------------
import re
import os.path
@@ -16,64 +16,68 @@
PACKAGE_PPRINT_NAME = "Security Insight Management"
# a-b-c => a/b/c
-package_folder_path = PACKAGE_NAME.replace('-', '/')
+package_folder_path = PACKAGE_NAME.replace("-", "/")
# a-b-c => a.b.c
-namespace_name = PACKAGE_NAME.replace('-', '.')
+namespace_name = PACKAGE_NAME.replace("-", ".")
# Version extraction inspired from 'requests'
-with open(os.path.join(package_folder_path, 'version.py')
- if os.path.exists(os.path.join(package_folder_path, 'version.py'))
- else os.path.join(package_folder_path, '_version.py'), 'r') as fd:
- version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]',
- fd.read(), re.MULTILINE).group(1)
+with open(
+ os.path.join(package_folder_path, "version.py")
+ if os.path.exists(os.path.join(package_folder_path, "version.py"))
+ else os.path.join(package_folder_path, "_version.py"),
+ "r",
+) as fd:
+ version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1)
if not version:
- raise RuntimeError('Cannot find version information')
+ raise RuntimeError("Cannot find version information")
-with open('README.md', encoding='utf-8') as f:
+with open("README.md", encoding="utf-8") as f:
readme = f.read()
-with open('CHANGELOG.md', encoding='utf-8') as f:
+with open("CHANGELOG.md", encoding="utf-8") as f:
changelog = f.read()
setup(
name=PACKAGE_NAME,
version=version,
- description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME),
- long_description=readme + '\n\n' + changelog,
- long_description_content_type='text/markdown',
- license='MIT License',
- author='Microsoft Corporation',
- author_email='azpysdkhelp@microsoft.com',
- url='https://github.com/Azure/azure-sdk-for-python',
+ description="Microsoft Azure {} Client Library for Python".format(PACKAGE_PPRINT_NAME),
+ long_description=readme + "\n\n" + changelog,
+ long_description_content_type="text/markdown",
+ license="MIT License",
+ author="Microsoft Corporation",
+ author_email="azpysdkhelp@microsoft.com",
+ url="https://github.com/Azure/azure-sdk-for-python",
keywords="azure, azure sdk", # update with search keywords relevant to the azure service / product
classifiers=[
- 'Development Status :: 4 - Beta',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 3 :: Only',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: 3.9',
- 'Programming Language :: Python :: 3.10',
- 'Programming Language :: Python :: 3.11',
- 'License :: OSI Approved :: MIT License',
+ "Development Status :: 4 - Beta",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "License :: OSI Approved :: MIT License",
],
zip_safe=False,
- packages=find_packages(exclude=[
- 'tests',
- # Exclude packages that will be covered by PEP420 or nspkg
- 'azure',
- 'azure.mgmt',
- ]),
+ packages=find_packages(
+ exclude=[
+ "tests",
+ # Exclude packages that will be covered by PEP420 or nspkg
+ "azure",
+ "azure.mgmt",
+ ]
+ ),
include_package_data=True,
package_data={
- 'pytyped': ['py.typed'],
+ "pytyped": ["py.typed"],
},
install_requires=[
- "msrest>=0.7.1",
- "azure-common~=1.1",
- "azure-mgmt-core>=1.3.2,<2.0.0",
- "typing-extensions>=4.3.0; python_version<'3.8.0'",
+ "isodate>=0.6.1",
+ "typing-extensions>=4.6.0",
+ "azure-common>=1.1",
+ "azure-mgmt-core>=1.3.2",
],
- python_requires=">=3.7"
+ python_requires=">=3.8",
)
diff --git a/sdk/securityinsight/azure-mgmt-securityinsight/stable.json b/sdk/securityinsight/azure-mgmt-securityinsight/stable.json
new file mode 100644
index 000000000000..16ef63dba2b2
--- /dev/null
+++ b/sdk/securityinsight/azure-mgmt-securityinsight/stable.json
@@ -0,0 +1,69509 @@
+{
+ "azure.mgmt.securityinsight": {
+ "class_nodes": {
+ "SecurityInsights": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "credential": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "subscription_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "base_url": {
+ "default": "str",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "close": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "client_side_validation": {
+ "attr_type": false
+ },
+ "alert_rules": {
+ "attr_type": "AlertRulesOperations"
+ },
+ "actions": {
+ "attr_type": "ActionsOperations"
+ },
+ "alert_rule_templates": {
+ "attr_type": "AlertRuleTemplatesOperations"
+ },
+ "automation_rules": {
+ "attr_type": "AutomationRulesOperations"
+ },
+ "incidents": {
+ "attr_type": "IncidentsOperations"
+ },
+ "bookmarks": {
+ "attr_type": "BookmarksOperations"
+ },
+ "bookmark_relations": {
+ "attr_type": "BookmarkRelationsOperations"
+ },
+ "bookmark": {
+ "attr_type": "BookmarkOperations"
+ },
+ "ip_geodata": {
+ "attr_type": "IPGeodataOperations"
+ },
+ "domain_whois": {
+ "attr_type": "DomainWhoisOperations"
+ },
+ "entities": {
+ "attr_type": "EntitiesOperations"
+ },
+ "entities_get_timeline": {
+ "attr_type": "EntitiesGetTimelineOperations"
+ },
+ "entities_relations": {
+ "attr_type": "EntitiesRelationsOperations"
+ },
+ "entity_relations": {
+ "attr_type": "EntityRelationsOperations"
+ },
+ "entity_queries": {
+ "attr_type": "EntityQueriesOperations"
+ },
+ "entity_query_templates": {
+ "attr_type": "EntityQueryTemplatesOperations"
+ },
+ "file_imports": {
+ "attr_type": "FileImportsOperations"
+ },
+ "incident_comments": {
+ "attr_type": "IncidentCommentsOperations"
+ },
+ "incident_relations": {
+ "attr_type": "IncidentRelationsOperations"
+ },
+ "incident_tasks": {
+ "attr_type": "IncidentTasksOperations"
+ },
+ "metadata": {
+ "attr_type": "MetadataOperations"
+ },
+ "office_consents": {
+ "attr_type": "OfficeConsentsOperations"
+ },
+ "sentinel_onboarding_states": {
+ "attr_type": "SentinelOnboardingStatesOperations"
+ },
+ "get_recommendations": {
+ "attr_type": "GetRecommendationsOperations"
+ },
+ "get": {
+ "attr_type": "GetOperations"
+ },
+ "update": {
+ "attr_type": "UpdateOperations"
+ },
+ "security_ml_analytics_settings": {
+ "attr_type": "SecurityMLAnalyticsSettingsOperations"
+ },
+ "product_settings": {
+ "attr_type": "ProductSettingsOperations"
+ },
+ "source_control": {
+ "attr_type": "SourceControlOperations"
+ },
+ "source_controls": {
+ "attr_type": "SourceControlsOperations"
+ },
+ "threat_intelligence_indicator": {
+ "attr_type": "ThreatIntelligenceIndicatorOperations"
+ },
+ "threat_intelligence_indicators": {
+ "attr_type": "ThreatIntelligenceIndicatorsOperations"
+ },
+ "threat_intelligence_indicator_metrics": {
+ "attr_type": "ThreatIntelligenceIndicatorMetricsOperations"
+ },
+ "watchlists": {
+ "attr_type": "WatchlistsOperations"
+ },
+ "watchlist_items": {
+ "attr_type": "WatchlistItemsOperations"
+ },
+ "data_connectors": {
+ "attr_type": "DataConnectorsOperations"
+ },
+ "data_connectors_check_requirements": {
+ "attr_type": "DataConnectorsCheckRequirementsOperations"
+ },
+ "operations": {
+ "attr_type": "Operations"
+ }
+ }
+ }
+ },
+ "function_nodes": {}
+ },
+ "azure.mgmt.securityinsight.operations": {
+ "class_nodes": {
+ "ActionsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "type": "ActionRequest",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_by_alert_rule": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AlertRuleTemplatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule_template_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AlertRulesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "type": "AlertRule",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AutomationRulesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "type": "Optional[AutomationRule]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "BookmarkOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "expand": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "BookmarkExpandParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "BookmarkRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "Relation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "BookmarksOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "type": "Bookmark",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "DataConnectorsCheckRequirementsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "post": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "type": "DataConnectorsCheckRequirements",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "DataConnectorsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "connect": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "type": "DataConnectorConnectBody",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "type": "DataConnector",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "disconnect": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "DomainWhoisOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "domain": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesGetTimelineOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityTimelineParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "expand": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityExpandParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get_insights": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityGetInsightsParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "queries": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityQueriesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "type": "CustomEntityQuery",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityQueryTemplatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_template_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get_relation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "FileImportsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "begin_delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "type": "FileImport",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "GetOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "single_recommendation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "GetRecommendationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IPGeodataOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "ip_address": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentCommentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "type": "IncidentComment",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "Relation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentTasksOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "type": "IncidentTask",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "type": "Incident",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "create_team": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "type": "TeamInformation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_alerts": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_bookmarks": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_entities": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "run_playbook": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "type": "Optional[ManualTriggerRequestBody]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "MetadataOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "type": "MetadataModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "type": "MetadataPatch",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "OfficeConsentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "consent_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "consent_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "Operations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ProductSettingsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "type": "Settings",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "SecurityMLAnalyticsSettingsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "type": "SecurityMLAnalyticsSetting",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SentinelOnboardingStatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "type": "Optional[SentinelOnboardingState]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SourceControlOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_repositories": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "repo_type": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SourceControlsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "type": "SourceControl",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorMetricsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "append_tags": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "type": "ThreatIntelligenceAppendTags",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "create_indicator": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "query_indicators": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "type": "ThreatIntelligenceFilteringCriteria",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "replace_tags": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "UpdateOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "begin_recommendation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "type": "List[RecommendationPatch]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "WatchlistItemsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "type": "WatchlistItem",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "WatchlistsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "type": "Watchlist",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ }
+ },
+ "function_nodes": {}
+ },
+ "azure.mgmt.securityinsight.aio": {
+ "class_nodes": {
+ "SecurityInsights": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "credential": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "subscription_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "base_url": {
+ "default": "str",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "close": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "client_side_validation": {
+ "attr_type": false
+ },
+ "alert_rules": {
+ "attr_type": "AlertRulesOperations"
+ },
+ "actions": {
+ "attr_type": "ActionsOperations"
+ },
+ "alert_rule_templates": {
+ "attr_type": "AlertRuleTemplatesOperations"
+ },
+ "automation_rules": {
+ "attr_type": "AutomationRulesOperations"
+ },
+ "incidents": {
+ "attr_type": "IncidentsOperations"
+ },
+ "bookmarks": {
+ "attr_type": "BookmarksOperations"
+ },
+ "bookmark_relations": {
+ "attr_type": "BookmarkRelationsOperations"
+ },
+ "bookmark": {
+ "attr_type": "BookmarkOperations"
+ },
+ "ip_geodata": {
+ "attr_type": "IPGeodataOperations"
+ },
+ "domain_whois": {
+ "attr_type": "DomainWhoisOperations"
+ },
+ "entities": {
+ "attr_type": "EntitiesOperations"
+ },
+ "entities_get_timeline": {
+ "attr_type": "EntitiesGetTimelineOperations"
+ },
+ "entities_relations": {
+ "attr_type": "EntitiesRelationsOperations"
+ },
+ "entity_relations": {
+ "attr_type": "EntityRelationsOperations"
+ },
+ "entity_queries": {
+ "attr_type": "EntityQueriesOperations"
+ },
+ "entity_query_templates": {
+ "attr_type": "EntityQueryTemplatesOperations"
+ },
+ "file_imports": {
+ "attr_type": "FileImportsOperations"
+ },
+ "incident_comments": {
+ "attr_type": "IncidentCommentsOperations"
+ },
+ "incident_relations": {
+ "attr_type": "IncidentRelationsOperations"
+ },
+ "incident_tasks": {
+ "attr_type": "IncidentTasksOperations"
+ },
+ "metadata": {
+ "attr_type": "MetadataOperations"
+ },
+ "office_consents": {
+ "attr_type": "OfficeConsentsOperations"
+ },
+ "sentinel_onboarding_states": {
+ "attr_type": "SentinelOnboardingStatesOperations"
+ },
+ "get_recommendations": {
+ "attr_type": "GetRecommendationsOperations"
+ },
+ "get": {
+ "attr_type": "GetOperations"
+ },
+ "update": {
+ "attr_type": "UpdateOperations"
+ },
+ "security_ml_analytics_settings": {
+ "attr_type": "SecurityMLAnalyticsSettingsOperations"
+ },
+ "product_settings": {
+ "attr_type": "ProductSettingsOperations"
+ },
+ "source_control": {
+ "attr_type": "SourceControlOperations"
+ },
+ "source_controls": {
+ "attr_type": "SourceControlsOperations"
+ },
+ "threat_intelligence_indicator": {
+ "attr_type": "ThreatIntelligenceIndicatorOperations"
+ },
+ "threat_intelligence_indicators": {
+ "attr_type": "ThreatIntelligenceIndicatorsOperations"
+ },
+ "threat_intelligence_indicator_metrics": {
+ "attr_type": "ThreatIntelligenceIndicatorMetricsOperations"
+ },
+ "watchlists": {
+ "attr_type": "WatchlistsOperations"
+ },
+ "watchlist_items": {
+ "attr_type": "WatchlistItemsOperations"
+ },
+ "data_connectors": {
+ "attr_type": "DataConnectorsOperations"
+ },
+ "data_connectors_check_requirements": {
+ "attr_type": "DataConnectorsCheckRequirementsOperations"
+ },
+ "operations": {
+ "attr_type": "Operations"
+ }
+ }
+ }
+ },
+ "function_nodes": {}
+ },
+ "azure.mgmt.securityinsight.aio.operations": {
+ "class_nodes": {
+ "ActionsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "type": "ActionRequest",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list_by_alert_rule": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AlertRuleTemplatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule_template_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AlertRulesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "type": "AlertRule",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rule": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "AutomationRulesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "type": "Optional[AutomationRule]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_to_upsert": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "automation_rule_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "BookmarkOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "expand": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "BookmarkExpandParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "BookmarkRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "Relation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "BookmarksOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "type": "Bookmark",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bookmark_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "DataConnectorsCheckRequirementsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "post": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "type": "DataConnectorsCheckRequirements",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connectors_check_requirements": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "DataConnectorsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "connect": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "type": "DataConnectorConnectBody",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connect_body": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "type": "DataConnector",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "disconnect": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_connector_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "DomainWhoisOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "domain": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesGetTimelineOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityTimelineParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "expand": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityExpandParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get_insights": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "EntityGetInsightsParameters",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "parameters": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "queries": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntitiesRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityQueriesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "type": "CustomEntityQuery",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityQueryTemplatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_query_template_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "EntityRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get_relation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "FileImportsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "begin_delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "type": "FileImport",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_import_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "GetOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "single_recommendation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "GetRecommendationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IPGeodataOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "ip_address": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentCommentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "type": "IncidentComment",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_comment_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentRelationsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "Relation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "relation_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentTasksOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "type": "IncidentTask",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_task_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "IncidentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "type": "Incident",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "create_team": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "type": "TeamInformation",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_alerts": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list_bookmarks": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list_entities": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "run_playbook": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "type": "Optional[ManualTriggerRequestBody]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_identifier": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "request_body": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "MetadataOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "type": "MetadataModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "type": "MetadataPatch",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metadata_patch": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "OfficeConsentsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "consent_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "consent_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "Operations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ProductSettingsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "type": "Settings",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "SecurityMLAnalyticsSettingsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "type": "SecurityMLAnalyticsSetting",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "security_ml_analytics_setting": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "settings_resource_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SentinelOnboardingStatesOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "type": "Optional[SentinelOnboardingState]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_parameter": {
+ "type": "Optional[IO]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "sentinel_onboarding_state_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SourceControlOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list_repositories": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "repo_type": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "SourceControlsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "type": "SourceControl",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_control_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorMetricsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "append_tags": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "type": "ThreatIntelligenceAppendTags",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_append_tags": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "create": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "create_indicator": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_properties": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "query_indicators": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "type": "ThreatIntelligenceFilteringCriteria",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_filtering_criteria": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": false,
+ "return_type": null
+ }
+ ]
+ },
+ "replace_tags": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "type": "ThreatIntelligenceIndicatorModel",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_replace_tags": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "ThreatIntelligenceIndicatorsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "orderby": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "top": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "UpdateOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "begin_recommendation": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "type": "List[RecommendationPatch]",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "recommendation_patch": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ }
+ },
+ "properties": {}
+ },
+ "WatchlistItemsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "type": "WatchlistItem",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_item_id": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ },
+ "WatchlistsOperations": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "args": {
+ "default": null,
+ "param_type": "var_positional"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "create_or_update": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": [
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "type": "Watchlist",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ },
+ {
+ "parameters": {
+ "self": {
+ "type": null,
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "type": "str",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist": {
+ "type": "IO",
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "type": "str",
+ "default": "application/json",
+ "param_type": "keyword_only"
+ }
+ },
+ "is_async": true,
+ "return_type": null
+ }
+ ]
+ },
+ "delete": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "get": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "watchlist_alias": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": true,
+ "overloads": []
+ },
+ "list": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_group_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "workspace_name": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {}
+ }
+ },
+ "function_nodes": {}
+ },
+ "azure.mgmt.securityinsight.models": {
+ "class_nodes": {
+ "AADCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AADCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AADDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AADDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AATPCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AATPCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AATPDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AATPDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ASCCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ASCDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ASCDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AccountEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "aad_tenant_id": {
+ "attr_type": null
+ },
+ "aad_user_id": {
+ "attr_type": null
+ },
+ "account_name": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "is_domain_joined": {
+ "attr_type": null
+ },
+ "nt_domain": {
+ "attr_type": null
+ },
+ "object_guid": {
+ "attr_type": null
+ },
+ "puid": {
+ "attr_type": null
+ },
+ "sid": {
+ "attr_type": null
+ },
+ "upn_suffix": {
+ "attr_type": null
+ },
+ "dns_domain": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AccountEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "aad_tenant_id": {
+ "attr_type": null
+ },
+ "aad_user_id": {
+ "attr_type": null
+ },
+ "account_name": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "is_domain_joined": {
+ "attr_type": null
+ },
+ "nt_domain": {
+ "attr_type": null
+ },
+ "object_guid": {
+ "attr_type": null
+ },
+ "puid": {
+ "attr_type": null
+ },
+ "sid": {
+ "attr_type": null
+ },
+ "upn_suffix": {
+ "attr_type": null
+ },
+ "dns_domain": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionPropertiesBase": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logic_app_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionRequest": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "logic_app_resource_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_uri": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "trigger_uri": {
+ "attr_type": "trigger_uri"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionRequestProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logic_app_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "trigger_uri": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "trigger_uri": {
+ "attr_type": "trigger_uri"
+ },
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "logic_app_resource_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "workflow_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "workflow_id": {
+ "attr_type": "workflow_id"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionResponseProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logic_app_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "workflow_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "workflow_id": {
+ "attr_type": "workflow_id"
+ },
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActionType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ADD_INCIDENT_TASK": "ADD_INCIDENT_TASK",
+ "MODIFY_PROPERTIES": "MODIFY_PROPERTIES",
+ "RUN_PLAYBOOK": "RUN_PLAYBOOK"
+ }
+ },
+ "ActionsList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityCustomEntityQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_input_fields_sets": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "content": {
+ "attr_type": "content"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "query_definitions": {
+ "attr_type": "query_definitions"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "required_input_fields_sets": {
+ "attr_type": "required_input_fields_sets"
+ },
+ "entities_filter": {
+ "attr_type": "entities_filter"
+ },
+ "template_name": {
+ "attr_type": "template_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityEntityQueriesPropertiesQueryDefinitions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityEntityQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_input_fields_sets": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "content": {
+ "attr_type": "content"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "query_definitions": {
+ "attr_type": "query_definitions"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "required_input_fields_sets": {
+ "attr_type": "required_input_fields_sets"
+ },
+ "entities_filter": {
+ "attr_type": "entities_filter"
+ },
+ "template_name": {
+ "attr_type": "template_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityEntityQueryTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_input_fields_sets": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "content": {
+ "attr_type": "content"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "query_definitions": {
+ "attr_type": "query_definitions"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "required_input_fields_sets": {
+ "attr_type": "required_input_fields_sets"
+ },
+ "entities_filter": {
+ "attr_type": "entities_filter"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityEntityQueryTemplatePropertiesQueryDefinitions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "summarize_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "summarize_by": {
+ "attr_type": "summarize_by"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ActivityTimelineItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "bucket_start_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "bucket_end_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "first_activity_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "last_activity_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "content": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "query_id": {
+ "attr_type": "query_id"
+ },
+ "bucket_start_time_utc": {
+ "attr_type": "bucket_start_time_utc"
+ },
+ "bucket_end_time_utc": {
+ "attr_type": "bucket_end_time_utc"
+ },
+ "first_activity_time_utc": {
+ "attr_type": "first_activity_time_utc"
+ },
+ "last_activity_time_utc": {
+ "attr_type": "last_activity_time_utc"
+ },
+ "content": {
+ "attr_type": "content"
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AddIncidentTaskActionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertDetail": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DISPLAY_NAME": "DISPLAY_NAME",
+ "SEVERITY": "SEVERITY"
+ }
+ },
+ "AlertDetailsOverride": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_display_name_format": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_description_format": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_tactics_column_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_severity_column_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_dynamic_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_display_name_format": {
+ "attr_type": "alert_display_name_format"
+ },
+ "alert_description_format": {
+ "attr_type": "alert_description_format"
+ },
+ "alert_tactics_column_name": {
+ "attr_type": "alert_tactics_column_name"
+ },
+ "alert_severity_column_name": {
+ "attr_type": "alert_severity_column_name"
+ },
+ "alert_dynamic_properties": {
+ "attr_type": "alert_dynamic_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertProperty": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ALERT_LINK": "ALERT_LINK",
+ "CONFIDENCE_LEVEL": "CONFIDENCE_LEVEL",
+ "CONFIDENCE_SCORE": "CONFIDENCE_SCORE",
+ "EXTENDED_LINKS": "EXTENDED_LINKS",
+ "PRODUCT_COMPONENT_NAME": "PRODUCT_COMPONENT_NAME",
+ "PRODUCT_NAME": "PRODUCT_NAME",
+ "PROVIDER_NAME": "PROVIDER_NAME",
+ "REMEDIATION_STEPS": "REMEDIATION_STEPS",
+ "TECHNIQUES": "TECHNIQUES"
+ }
+ },
+ "AlertPropertyMapping": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_property": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_property": {
+ "attr_type": "alert_property"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRuleKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "FUSION": "FUSION",
+ "MICROSOFT_SECURITY_INCIDENT_CREATION": "MICROSOFT_SECURITY_INCIDENT_CREATION",
+ "ML_BEHAVIOR_ANALYTICS": "ML_BEHAVIOR_ANALYTICS",
+ "NRT": "NRT",
+ "SCHEDULED": "SCHEDULED",
+ "THREAT_INTELLIGENCE": "THREAT_INTELLIGENCE"
+ }
+ },
+ "AlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRuleTemplateDataSource": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connector_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "connector_id": {
+ "attr_type": "connector_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRuleTemplatePropertiesBase": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRuleTemplateWithMitreProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRuleTemplatesList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertRulesList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AlertSeverity": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HIGH": "HIGH",
+ "INFORMATIONAL": "INFORMATIONAL",
+ "LOW": "LOW",
+ "MEDIUM": "MEDIUM"
+ }
+ },
+ "AlertStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DISMISSED": "DISMISSED",
+ "IN_PROGRESS": "IN_PROGRESS",
+ "NEW": "NEW",
+ "RESOLVED": "RESOLVED",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "AlertsDataTypeOfDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alerts": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alerts": {
+ "attr_type": "alerts"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Anomalies": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "is_enabled": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AnomalySecurityMLAnalyticsSettings": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "anomaly_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "customizable_observations": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "settings_status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_default_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "anomaly_settings_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "settings_definition_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "anomaly_version": {
+ "attr_type": "anomaly_version"
+ },
+ "customizable_observations": {
+ "attr_type": "customizable_observations"
+ },
+ "frequency": {
+ "attr_type": "frequency"
+ },
+ "settings_status": {
+ "attr_type": "settings_status"
+ },
+ "is_default_settings": {
+ "attr_type": "is_default_settings"
+ },
+ "anomaly_settings_version": {
+ "attr_type": "anomaly_settings_version"
+ },
+ "settings_definition_id": {
+ "attr_type": "settings_definition_id"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AnomalyTimelineItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "azure_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "end_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "start_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "time_generated": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "product_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "vendor": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "intent": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "reasons": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "azure_resource_id": {
+ "attr_type": "azure_resource_id"
+ },
+ "product_name": {
+ "attr_type": "product_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "end_time_utc": {
+ "attr_type": "end_time_utc"
+ },
+ "start_time_utc": {
+ "attr_type": "start_time_utc"
+ },
+ "time_generated": {
+ "attr_type": "time_generated"
+ },
+ "vendor": {
+ "attr_type": "vendor"
+ },
+ "intent": {
+ "attr_type": "intent"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "reasons": {
+ "attr_type": "reasons"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AntispamMailDirection": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INBOUND": "INBOUND",
+ "INTRAORG": "INTRAORG",
+ "OUTBOUND": "OUTBOUND",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "AttackTactic": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COLLECTION": "COLLECTION",
+ "COMMAND_AND_CONTROL": "COMMAND_AND_CONTROL",
+ "CREDENTIAL_ACCESS": "CREDENTIAL_ACCESS",
+ "DEFENSE_EVASION": "DEFENSE_EVASION",
+ "DISCOVERY": "DISCOVERY",
+ "EXECUTION": "EXECUTION",
+ "EXFILTRATION": "EXFILTRATION",
+ "IMPACT": "IMPACT",
+ "IMPAIR_PROCESS_CONTROL": "IMPAIR_PROCESS_CONTROL",
+ "INHIBIT_RESPONSE_FUNCTION": "INHIBIT_RESPONSE_FUNCTION",
+ "INITIAL_ACCESS": "INITIAL_ACCESS",
+ "LATERAL_MOVEMENT": "LATERAL_MOVEMENT",
+ "PERSISTENCE": "PERSISTENCE",
+ "PRE_ATTACK": "PRE_ATTACK",
+ "PRIVILEGE_ESCALATION": "PRIVILEGE_ESCALATION",
+ "RECONNAISSANCE": "RECONNAISSANCE",
+ "RESOURCE_DEVELOPMENT": "RESOURCE_DEVELOPMENT"
+ }
+ },
+ "AutomationRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "order": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "triggering_logic": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "actions": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "order": {
+ "attr_type": "order"
+ },
+ "triggering_logic": {
+ "attr_type": "triggering_logic"
+ },
+ "actions": {
+ "attr_type": "actions"
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "last_modified_by": {
+ "attr_type": null
+ },
+ "created_by": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "order": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "order": {
+ "attr_type": "order"
+ },
+ "action_type": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleAddIncidentTaskAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "order": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "action_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "action_type": {
+ "attr_type": null
+ },
+ "action_configuration": {
+ "attr_type": "action_configuration"
+ },
+ "order": {
+ "attr_type": "order"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleBooleanCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "inner_conditions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "operator": {
+ "attr_type": "operator"
+ },
+ "inner_conditions": {
+ "attr_type": "inner_conditions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleBooleanConditionSupportedOperator": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AND": "AND",
+ "OR": "OR"
+ }
+ },
+ "AutomationRuleCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleModifyPropertiesAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "order": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "action_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "action_type": {
+ "attr_type": null
+ },
+ "action_configuration": {
+ "attr_type": "action_configuration"
+ },
+ "order": {
+ "attr_type": "order"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRulePropertyArrayChangedConditionSupportedArrayType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ALERTS": "ALERTS",
+ "COMMENTS": "COMMENTS",
+ "LABELS": "LABELS",
+ "TACTICS": "TACTICS"
+ }
+ },
+ "AutomationRulePropertyArrayChangedConditionSupportedChangeType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ADDED": "ADDED"
+ }
+ },
+ "AutomationRulePropertyArrayChangedValuesCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "array_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "change_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "array_type": {
+ "attr_type": "array_type"
+ },
+ "change_type": {
+ "attr_type": "change_type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRulePropertyArrayConditionSupportedArrayConditionType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANY_ITEM": "ANY_ITEM"
+ }
+ },
+ "AutomationRulePropertyArrayConditionSupportedArrayType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CUSTOM_DETAILS": "CUSTOM_DETAILS",
+ "CUSTOM_DETAIL_VALUES": "CUSTOM_DETAIL_VALUES"
+ }
+ },
+ "AutomationRulePropertyArrayValuesCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "array_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "array_condition_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "item_conditions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "array_type": {
+ "attr_type": "array_type"
+ },
+ "array_condition_type": {
+ "attr_type": "array_condition_type"
+ },
+ "item_conditions": {
+ "attr_type": "item_conditions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRulePropertyChangedConditionSupportedChangedType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CHANGED_FROM": "CHANGED_FROM",
+ "CHANGED_TO": "CHANGED_TO"
+ }
+ },
+ "AutomationRulePropertyChangedConditionSupportedPropertyType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INCIDENT_OWNER": "INCIDENT_OWNER",
+ "INCIDENT_SEVERITY": "INCIDENT_SEVERITY",
+ "INCIDENT_STATUS": "INCIDENT_STATUS"
+ }
+ },
+ "AutomationRulePropertyConditionSupportedOperator": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CONTAINS": "CONTAINS",
+ "ENDS_WITH": "ENDS_WITH",
+ "EQUALS": "EQUALS",
+ "NOT_CONTAINS": "NOT_CONTAINS",
+ "NOT_ENDS_WITH": "NOT_ENDS_WITH",
+ "NOT_EQUALS": "NOT_EQUALS",
+ "NOT_STARTS_WITH": "NOT_STARTS_WITH",
+ "STARTS_WITH": "STARTS_WITH"
+ }
+ },
+ "AutomationRulePropertyConditionSupportedProperty": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACCOUNT_AAD_TENANT_ID": "ACCOUNT_AAD_TENANT_ID",
+ "ACCOUNT_AAD_USER_ID": "ACCOUNT_AAD_USER_ID",
+ "ACCOUNT_NAME": "ACCOUNT_NAME",
+ "ACCOUNT_NT_DOMAIN": "ACCOUNT_NT_DOMAIN",
+ "ACCOUNT_OBJECT_GUID": "ACCOUNT_OBJECT_GUID",
+ "ACCOUNT_PUID": "ACCOUNT_PUID",
+ "ACCOUNT_SID": "ACCOUNT_SID",
+ "ACCOUNT_UPN_SUFFIX": "ACCOUNT_UPN_SUFFIX",
+ "ALERT_ANALYTIC_RULE_IDS": "ALERT_ANALYTIC_RULE_IDS",
+ "ALERT_PRODUCT_NAMES": "ALERT_PRODUCT_NAMES",
+ "AZURE_RESOURCE_RESOURCE_ID": "AZURE_RESOURCE_RESOURCE_ID",
+ "AZURE_RESOURCE_SUBSCRIPTION_ID": "AZURE_RESOURCE_SUBSCRIPTION_ID",
+ "CLOUD_APPLICATION_APP_ID": "CLOUD_APPLICATION_APP_ID",
+ "CLOUD_APPLICATION_APP_NAME": "CLOUD_APPLICATION_APP_NAME",
+ "DNS_DOMAIN_NAME": "DNS_DOMAIN_NAME",
+ "FILE_DIRECTORY": "FILE_DIRECTORY",
+ "FILE_HASH_VALUE": "FILE_HASH_VALUE",
+ "FILE_NAME": "FILE_NAME",
+ "HOST_AZURE_ID": "HOST_AZURE_ID",
+ "HOST_NAME": "HOST_NAME",
+ "HOST_NET_BIOS_NAME": "HOST_NET_BIOS_NAME",
+ "HOST_NT_DOMAIN": "HOST_NT_DOMAIN",
+ "HOST_OS_VERSION": "HOST_OS_VERSION",
+ "INCIDENT_CUSTOM_DETAILS_KEY": "INCIDENT_CUSTOM_DETAILS_KEY",
+ "INCIDENT_CUSTOM_DETAILS_VALUE": "INCIDENT_CUSTOM_DETAILS_VALUE",
+ "INCIDENT_DESCRIPTION": "INCIDENT_DESCRIPTION",
+ "INCIDENT_LABEL": "INCIDENT_LABEL",
+ "INCIDENT_PROVIDER_NAME": "INCIDENT_PROVIDER_NAME",
+ "INCIDENT_RELATED_ANALYTIC_RULE_IDS": "INCIDENT_RELATED_ANALYTIC_RULE_IDS",
+ "INCIDENT_SEVERITY": "INCIDENT_SEVERITY",
+ "INCIDENT_STATUS": "INCIDENT_STATUS",
+ "INCIDENT_TACTICS": "INCIDENT_TACTICS",
+ "INCIDENT_TITLE": "INCIDENT_TITLE",
+ "INCIDENT_UPDATED_BY_SOURCE": "INCIDENT_UPDATED_BY_SOURCE",
+ "IO_T_DEVICE_ID": "IO_T_DEVICE_ID",
+ "IO_T_DEVICE_MODEL": "IO_T_DEVICE_MODEL",
+ "IO_T_DEVICE_NAME": "IO_T_DEVICE_NAME",
+ "IO_T_DEVICE_OPERATING_SYSTEM": "IO_T_DEVICE_OPERATING_SYSTEM",
+ "IO_T_DEVICE_TYPE": "IO_T_DEVICE_TYPE",
+ "IO_T_DEVICE_VENDOR": "IO_T_DEVICE_VENDOR",
+ "IP_ADDRESS": "IP_ADDRESS",
+ "MAILBOX_DISPLAY_NAME": "MAILBOX_DISPLAY_NAME",
+ "MAILBOX_PRIMARY_ADDRESS": "MAILBOX_PRIMARY_ADDRESS",
+ "MAILBOX_UPN": "MAILBOX_UPN",
+ "MAIL_MESSAGE_DELIVERY_ACTION": "MAIL_MESSAGE_DELIVERY_ACTION",
+ "MAIL_MESSAGE_DELIVERY_LOCATION": "MAIL_MESSAGE_DELIVERY_LOCATION",
+ "MAIL_MESSAGE_P1_SENDER": "MAIL_MESSAGE_P1_SENDER",
+ "MAIL_MESSAGE_P2_SENDER": "MAIL_MESSAGE_P2_SENDER",
+ "MAIL_MESSAGE_RECIPIENT": "MAIL_MESSAGE_RECIPIENT",
+ "MAIL_MESSAGE_SENDER_IP": "MAIL_MESSAGE_SENDER_IP",
+ "MAIL_MESSAGE_SUBJECT": "MAIL_MESSAGE_SUBJECT",
+ "MALWARE_CATEGORY": "MALWARE_CATEGORY",
+ "MALWARE_NAME": "MALWARE_NAME",
+ "PROCESS_COMMAND_LINE": "PROCESS_COMMAND_LINE",
+ "PROCESS_ID": "PROCESS_ID",
+ "REGISTRY_KEY": "REGISTRY_KEY",
+ "REGISTRY_VALUE_DATA": "REGISTRY_VALUE_DATA",
+ "URL": "URL"
+ }
+ },
+ "AutomationRulePropertyValuesChangedCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "property_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "change_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "property_values": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "property_name": {
+ "attr_type": "property_name"
+ },
+ "change_type": {
+ "attr_type": "change_type"
+ },
+ "operator": {
+ "attr_type": "operator"
+ },
+ "property_values": {
+ "attr_type": "property_values"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRulePropertyValuesCondition": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "property_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "property_values": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "property_name": {
+ "attr_type": "property_name"
+ },
+ "operator": {
+ "attr_type": "operator"
+ },
+ "property_values": {
+ "attr_type": "property_values"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleRunPlaybookAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "order": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "action_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "action_type": {
+ "attr_type": null
+ },
+ "action_configuration": {
+ "attr_type": "action_configuration"
+ },
+ "order": {
+ "attr_type": "order"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRuleTriggeringLogic": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "is_enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "triggers_on": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "triggers_when": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "expiration_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "conditions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "is_enabled": {
+ "attr_type": "is_enabled"
+ },
+ "expiration_time_utc": {
+ "attr_type": "expiration_time_utc"
+ },
+ "triggers_on": {
+ "attr_type": "triggers_on"
+ },
+ "triggers_when": {
+ "attr_type": "triggers_when"
+ },
+ "conditions": {
+ "attr_type": "conditions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AutomationRulesList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "next_link": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "next_link": {
+ "attr_type": "next_link"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Availability": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_preview": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "status": {
+ "attr_type": "status"
+ },
+ "is_preview": {
+ "attr_type": "is_preview"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsCloudTrailCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsCloudTrailDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "aws_role_arn": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "aws_role_arn": {
+ "attr_type": "aws_role_arn"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsCloudTrailDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logs": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logs": {
+ "attr_type": "logs"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsCloudTrailDataConnectorDataTypesLogs": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsS3CheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsS3DataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "destination_table": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sqs_urls": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "role_arn": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "destination_table": {
+ "attr_type": "destination_table"
+ },
+ "sqs_urls": {
+ "attr_type": "sqs_urls"
+ },
+ "role_arn": {
+ "attr_type": "role_arn"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsS3DataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logs": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logs": {
+ "attr_type": "logs"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AwsS3DataConnectorDataTypesLogs": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AzureDevOpsResourceInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "pipeline_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "service_connection_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "pipeline_id": {
+ "attr_type": "pipeline_id"
+ },
+ "service_connection_id": {
+ "attr_type": "service_connection_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AzureResourceEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "resource_id": {
+ "attr_type": null
+ },
+ "subscription_id": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "AzureResourceEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "resource_id": {
+ "attr_type": null
+ },
+ "subscription_id": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Bookmark": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "notes": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_result": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_start_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_end_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "created": {
+ "attr_type": "created"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "notes": {
+ "attr_type": "notes"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_result": {
+ "attr_type": "query_result"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "updated_by": {
+ "attr_type": "updated_by"
+ },
+ "event_time": {
+ "attr_type": "event_time"
+ },
+ "query_start_time": {
+ "attr_type": "query_start_time"
+ },
+ "query_end_time": {
+ "attr_type": "query_end_time"
+ },
+ "incident_info": {
+ "attr_type": "incident_info"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkEntityMappings": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "field_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entity_type": {
+ "attr_type": "entity_type"
+ },
+ "field_mappings": {
+ "attr_type": "field_mappings"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkExpandParameters": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "end_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "expansion_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "start_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "end_time": {
+ "attr_type": "end_time"
+ },
+ "expansion_id": {
+ "attr_type": "expansion_id"
+ },
+ "start_time": {
+ "attr_type": "start_time"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkExpandResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "meta_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "meta_data": {
+ "attr_type": "meta_data"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkExpandResponseValue": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entities": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "edges": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entities": {
+ "attr_type": "entities"
+ },
+ "edges": {
+ "attr_type": "edges"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BookmarkTimelineItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "azure_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "notes": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "end_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "start_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "azure_resource_id": {
+ "attr_type": "azure_resource_id"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "notes": {
+ "attr_type": "notes"
+ },
+ "end_time_utc": {
+ "attr_type": "end_time_utc"
+ },
+ "start_time_utc": {
+ "attr_type": "start_time_utc"
+ },
+ "event_time": {
+ "attr_type": "event_time"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "BooleanConditionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "condition_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "condition_properties": {
+ "attr_type": "condition_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Category": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COST_OPTIMIZATION": "COST_OPTIMIZATION",
+ "DEMO": "DEMO",
+ "NEW_FEATURE": "NEW_FEATURE",
+ "ONBOARDING": "ONBOARDING",
+ "SOC_EFFICIENCY": "SOC_EFFICIENCY"
+ }
+ },
+ "ClientInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "object_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "user_principal_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "email": {
+ "attr_type": "email"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "object_id": {
+ "attr_type": "object_id"
+ },
+ "user_principal_name": {
+ "attr_type": "user_principal_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CloudApplicationEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "app_id": {
+ "attr_type": null
+ },
+ "app_name": {
+ "attr_type": null
+ },
+ "instance_name": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CloudApplicationEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "app_id": {
+ "attr_type": null
+ },
+ "app_name": {
+ "attr_type": null
+ },
+ "instance_name": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "code": {
+ "attr_type": null
+ },
+ "message": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessApiPollingDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "connector_ui_config": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "polling_config": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "connector_ui_config": {
+ "attr_type": "connector_ui_config"
+ },
+ "polling_config": {
+ "attr_type": "polling_config"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessConnectorPollingAuthProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "auth_type": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "api_key_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "api_key_identifier": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_api_key_in_post_payload": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "flow_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "token_endpoint": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "authorization_endpoint": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "authorization_endpoint_query_parameters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "redirection_endpoint": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "token_endpoint_headers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "token_endpoint_query_parameters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_client_secret_in_header": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "scope": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "auth_type": {
+ "attr_type": "auth_type"
+ },
+ "api_key_name": {
+ "attr_type": "api_key_name"
+ },
+ "api_key_identifier": {
+ "attr_type": "api_key_identifier"
+ },
+ "is_api_key_in_post_payload": {
+ "attr_type": "is_api_key_in_post_payload"
+ },
+ "flow_name": {
+ "attr_type": "flow_name"
+ },
+ "token_endpoint": {
+ "attr_type": "token_endpoint"
+ },
+ "authorization_endpoint": {
+ "attr_type": "authorization_endpoint"
+ },
+ "authorization_endpoint_query_parameters": {
+ "attr_type": "authorization_endpoint_query_parameters"
+ },
+ "redirection_endpoint": {
+ "attr_type": "redirection_endpoint"
+ },
+ "token_endpoint_headers": {
+ "attr_type": "token_endpoint_headers"
+ },
+ "token_endpoint_query_parameters": {
+ "attr_type": "token_endpoint_query_parameters"
+ },
+ "is_client_secret_in_header": {
+ "attr_type": "is_client_secret_in_header"
+ },
+ "scope": {
+ "attr_type": "scope"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessConnectorPollingConfigProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "auth": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "request": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "is_active": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "paging": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "response": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "is_active": {
+ "attr_type": "is_active"
+ },
+ "auth": {
+ "attr_type": "auth"
+ },
+ "request": {
+ "attr_type": "request"
+ },
+ "paging": {
+ "attr_type": "paging"
+ },
+ "response": {
+ "attr_type": "response"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessConnectorPollingPagingProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "paging_type": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "next_page_para_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "next_page_token_json_path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "page_count_attribute_path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "page_total_count_attribute_path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "page_time_stamp_attribute_path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "search_the_latest_time_stamp_from_events_list": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "page_size_para_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "page_size": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "paging_type": {
+ "attr_type": "paging_type"
+ },
+ "next_page_para_name": {
+ "attr_type": "next_page_para_name"
+ },
+ "next_page_token_json_path": {
+ "attr_type": "next_page_token_json_path"
+ },
+ "page_count_attribute_path": {
+ "attr_type": "page_count_attribute_path"
+ },
+ "page_total_count_attribute_path": {
+ "attr_type": "page_total_count_attribute_path"
+ },
+ "page_time_stamp_attribute_path": {
+ "attr_type": "page_time_stamp_attribute_path"
+ },
+ "search_the_latest_time_stamp_from_events_list": {
+ "attr_type": "search_the_latest_time_stamp_from_events_list"
+ },
+ "page_size_para_name": {
+ "attr_type": "page_size_para_name"
+ },
+ "page_size": {
+ "attr_type": "page_size"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessConnectorPollingRequestProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "api_endpoint": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query_window_in_min": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "http_method": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query_time_format": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "rate_limit_qps": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "retry_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "timeout_in_seconds": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "headers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_parameters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_parameters_template": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "start_time_attribute_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "end_time_attribute_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "api_endpoint": {
+ "attr_type": "api_endpoint"
+ },
+ "rate_limit_qps": {
+ "attr_type": "rate_limit_qps"
+ },
+ "query_window_in_min": {
+ "attr_type": "query_window_in_min"
+ },
+ "http_method": {
+ "attr_type": "http_method"
+ },
+ "query_time_format": {
+ "attr_type": "query_time_format"
+ },
+ "retry_count": {
+ "attr_type": "retry_count"
+ },
+ "timeout_in_seconds": {
+ "attr_type": "timeout_in_seconds"
+ },
+ "headers": {
+ "attr_type": "headers"
+ },
+ "query_parameters": {
+ "attr_type": "query_parameters"
+ },
+ "query_parameters_template": {
+ "attr_type": "query_parameters_template"
+ },
+ "start_time_attribute_name": {
+ "attr_type": "start_time_attribute_name"
+ },
+ "end_time_attribute_name": {
+ "attr_type": "end_time_attribute_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessConnectorPollingResponseProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "events_json_paths": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "success_status_json_path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "success_status_value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_gzip_compressed": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "events_json_paths": {
+ "attr_type": "events_json_paths"
+ },
+ "success_status_json_path": {
+ "attr_type": "success_status_json_path"
+ },
+ "success_status_value": {
+ "attr_type": "success_status_value"
+ },
+ "is_gzip_compressed": {
+ "attr_type": "is_gzip_compressed"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "publisher": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "description_markdown": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "graph_queries_table_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "graph_queries": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "sample_queries": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "connectivity_criteria": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "availability": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "permissions": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "instruction_steps": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "custom_image": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "publisher": {
+ "attr_type": "publisher"
+ },
+ "description_markdown": {
+ "attr_type": "description_markdown"
+ },
+ "custom_image": {
+ "attr_type": "custom_image"
+ },
+ "graph_queries_table_name": {
+ "attr_type": "graph_queries_table_name"
+ },
+ "graph_queries": {
+ "attr_type": "graph_queries"
+ },
+ "sample_queries": {
+ "attr_type": "sample_queries"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "connectivity_criteria": {
+ "attr_type": "connectivity_criteria"
+ },
+ "availability": {
+ "attr_type": "availability"
+ },
+ "permissions": {
+ "attr_type": "permissions"
+ },
+ "instruction_steps": {
+ "attr_type": "instruction_steps"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigPropertiesConnectivityCriteriaItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "type": {
+ "attr_type": "type"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigPropertiesDataTypesItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_data_received_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "last_data_received_query": {
+ "attr_type": "last_data_received_query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigPropertiesGraphQueriesItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metric_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "legend": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "base_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "metric_name": {
+ "attr_type": "metric_name"
+ },
+ "legend": {
+ "attr_type": "legend"
+ },
+ "base_query": {
+ "attr_type": "base_query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigPropertiesInstructionStepsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "instructions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "instructions": {
+ "attr_type": "instructions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiConnectorConfigPropertiesSampleQueriesItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "description": {
+ "attr_type": "description"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CodelessUiDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "connector_ui_config": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "connector_ui_config": {
+ "attr_type": "connector_ui_config"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ConditionType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "BOOLEAN": "BOOLEAN",
+ "PROPERTY": "PROPERTY",
+ "PROPERTY_ARRAY": "PROPERTY_ARRAY",
+ "PROPERTY_ARRAY_CHANGED": "PROPERTY_ARRAY_CHANGED",
+ "PROPERTY_CHANGED": "PROPERTY_CHANGED"
+ }
+ },
+ "ConfidenceLevel": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HIGH": "HIGH",
+ "LOW": "LOW",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "ConfidenceScoreStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "FINAL": "FINAL",
+ "IN_PROCESS": "IN_PROCESS",
+ "NOT_APPLICABLE": "NOT_APPLICABLE",
+ "NOT_FINAL": "NOT_FINAL"
+ }
+ },
+ "ConnectAuthKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "API_KEY": "API_KEY",
+ "BASIC": "BASIC",
+ "O_AUTH2": "O_AUTH2"
+ }
+ },
+ "ConnectedEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "target_entity_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "additional_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "target_entity_id": {
+ "attr_type": "target_entity_id"
+ },
+ "additional_data": {
+ "attr_type": "additional_data"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ConnectivityCriteria": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "type": {
+ "attr_type": "type"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ConnectivityType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "IS_CONNECTED_QUERY": "IS_CONNECTED_QUERY"
+ }
+ },
+ "ConnectorInstructionModelBase": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "type": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "parameters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "parameters": {
+ "attr_type": "parameters"
+ },
+ "type": {
+ "attr_type": "type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Content": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ContentPathMap": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "path": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "content_type": {
+ "attr_type": "content_type"
+ },
+ "path": {
+ "attr_type": "path"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ContentType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANALYTIC_RULE": "ANALYTIC_RULE",
+ "WORKBOOK": "WORKBOOK"
+ }
+ },
+ "Context": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANALYTICS": "ANALYTICS",
+ "INCIDENTS": "INCIDENTS",
+ "NONE": "NONE",
+ "OVERVIEW": "OVERVIEW"
+ }
+ },
+ "CreatedByType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "APPLICATION": "APPLICATION",
+ "KEY": "KEY",
+ "MANAGED_IDENTITY": "MANAGED_IDENTITY",
+ "USER": "USER"
+ }
+ },
+ "CustomEntityQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CustomEntityQueryKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY"
+ }
+ },
+ "Customs": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "CustomsPermission": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorAuthorizationState": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INVALID": "INVALID",
+ "VALID": "VALID"
+ }
+ },
+ "DataConnectorConnectBody": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "api_key": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_collection_endpoint": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_collection_rule_immutable_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "output_stream": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "client_secret": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "client_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "authorization_code": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "user_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "password": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "request_config_user_input_values": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": "kind"
+ },
+ "api_key": {
+ "attr_type": "api_key"
+ },
+ "data_collection_endpoint": {
+ "attr_type": "data_collection_endpoint"
+ },
+ "data_collection_rule_immutable_id": {
+ "attr_type": "data_collection_rule_immutable_id"
+ },
+ "output_stream": {
+ "attr_type": "output_stream"
+ },
+ "client_secret": {
+ "attr_type": "client_secret"
+ },
+ "client_id": {
+ "attr_type": "client_id"
+ },
+ "authorization_code": {
+ "attr_type": "authorization_code"
+ },
+ "user_name": {
+ "attr_type": "user_name"
+ },
+ "password": {
+ "attr_type": "password"
+ },
+ "request_config_user_input_values": {
+ "attr_type": "request_config_user_input_values"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorDataTypeCommon": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AMAZON_WEB_SERVICES_CLOUD_TRAIL": "AMAZON_WEB_SERVICES_CLOUD_TRAIL",
+ "AMAZON_WEB_SERVICES_S3": "AMAZON_WEB_SERVICES_S3",
+ "API_POLLING": "API_POLLING",
+ "AZURE_ACTIVE_DIRECTORY": "AZURE_ACTIVE_DIRECTORY",
+ "AZURE_ADVANCED_THREAT_PROTECTION": "AZURE_ADVANCED_THREAT_PROTECTION",
+ "AZURE_SECURITY_CENTER": "AZURE_SECURITY_CENTER",
+ "DYNAMICS365": "DYNAMICS365",
+ "GENERIC_UI": "GENERIC_UI",
+ "IOT": "IOT",
+ "MICROSOFT_CLOUD_APP_SECURITY": "MICROSOFT_CLOUD_APP_SECURITY",
+ "MICROSOFT_DEFENDER_ADVANCED_THREAT_PROTECTION": "MICROSOFT_DEFENDER_ADVANCED_THREAT_PROTECTION",
+ "MICROSOFT_THREAT_INTELLIGENCE": "MICROSOFT_THREAT_INTELLIGENCE",
+ "MICROSOFT_THREAT_PROTECTION": "MICROSOFT_THREAT_PROTECTION",
+ "OFFICE365": "OFFICE365",
+ "OFFICE365_PROJECT": "OFFICE365_PROJECT",
+ "OFFICE_ATP": "OFFICE_ATP",
+ "OFFICE_IRM": "OFFICE_IRM",
+ "OFFICE_POWER_BI": "OFFICE_POWER_BI",
+ "THREAT_INTELLIGENCE": "THREAT_INTELLIGENCE",
+ "THREAT_INTELLIGENCE_TAXII": "THREAT_INTELLIGENCE_TAXII"
+ }
+ },
+ "DataConnectorLicenseState": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INVALID": "INVALID",
+ "UNKNOWN": "UNKNOWN",
+ "VALID": "VALID"
+ }
+ },
+ "DataConnectorList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorRequirementsState": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "authorization_state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "license_state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "authorization_state": {
+ "attr_type": "authorization_state"
+ },
+ "license_state": {
+ "attr_type": "license_state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorTenantId": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorWithAlertsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataConnectorsCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataTypeDefinitions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_type": {
+ "attr_type": "data_type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DataTypeState": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DISABLED": "DISABLED",
+ "ENABLED": "ENABLED"
+ }
+ },
+ "DeleteStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DELETED": "DELETED",
+ "NOT_DELETED": "NOT_DELETED",
+ "UNSPECIFIED": "UNSPECIFIED"
+ }
+ },
+ "DeliveryAction": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "BLOCKED": "BLOCKED",
+ "DELIVERED": "DELIVERED",
+ "DELIVERED_AS_SPAM": "DELIVERED_AS_SPAM",
+ "REPLACED": "REPLACED",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "DeliveryLocation": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DELETED_FOLDER": "DELETED_FOLDER",
+ "DROPPED": "DROPPED",
+ "EXTERNAL": "EXTERNAL",
+ "FAILED": "FAILED",
+ "FORWARDED": "FORWARDED",
+ "INBOX": "INBOX",
+ "JUNK_FOLDER": "JUNK_FOLDER",
+ "QUARANTINE": "QUARANTINE",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "Deployment": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "deployment_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment_state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment_result": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment_logs_url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "deployment_id": {
+ "attr_type": "deployment_id"
+ },
+ "deployment_state": {
+ "attr_type": "deployment_state"
+ },
+ "deployment_result": {
+ "attr_type": "deployment_result"
+ },
+ "deployment_time": {
+ "attr_type": "deployment_time"
+ },
+ "deployment_logs_url": {
+ "attr_type": "deployment_logs_url"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DeploymentFetchStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "NOT_FOUND": "NOT_FOUND",
+ "SUCCESS": "SUCCESS",
+ "UNAUTHORIZED": "UNAUTHORIZED"
+ }
+ },
+ "DeploymentInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "deployment_fetch_status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "message": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "deployment_fetch_status": {
+ "attr_type": "deployment_fetch_status"
+ },
+ "deployment": {
+ "attr_type": "deployment"
+ },
+ "message": {
+ "attr_type": "message"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DeploymentResult": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CANCELED": "CANCELED",
+ "FAILED": "FAILED",
+ "SUCCESS": "SUCCESS"
+ }
+ },
+ "DeploymentState": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CANCELING": "CANCELING",
+ "COMPLETED": "COMPLETED",
+ "IN_PROGRESS": "IN_PROGRESS",
+ "QUEUED": "QUEUED"
+ }
+ },
+ "DeviceImportance": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HIGH": "HIGH",
+ "LOW": "LOW",
+ "NORMAL": "NORMAL",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "DnsEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "dns_server_ip_entity_id": {
+ "attr_type": null
+ },
+ "domain_name": {
+ "attr_type": null
+ },
+ "host_ip_address_entity_id": {
+ "attr_type": null
+ },
+ "ip_address_entity_ids": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "DnsEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "dns_server_ip_entity_id": {
+ "attr_type": null
+ },
+ "domain_name": {
+ "attr_type": null
+ },
+ "host_ip_address_entity_id": {
+ "attr_type": null
+ },
+ "ip_address_entity_ids": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365CheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365CheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365DataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365DataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "dynamics365_cds_activities": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "dynamics365_cds_activities": {
+ "attr_type": "dynamics365_cds_activities"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365DataConnectorDataTypesDynamics365CdsActivities": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Dynamics365DataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ElevationToken": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DEFAULT": "DEFAULT",
+ "FULL": "FULL",
+ "LIMITED": "LIMITED"
+ }
+ },
+ "EnrichmentDomainWhois": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "domain": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "server": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "expires": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "parsed_whois": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "domain": {
+ "attr_type": "domain"
+ },
+ "server": {
+ "attr_type": "server"
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "expires": {
+ "attr_type": "expires"
+ },
+ "parsed_whois": {
+ "attr_type": "parsed_whois"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EnrichmentDomainWhoisContact": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "org": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "street": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "city": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "postal": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "country": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "phone": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "fax": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "org": {
+ "attr_type": "org"
+ },
+ "street": {
+ "attr_type": "street"
+ },
+ "city": {
+ "attr_type": "city"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "postal": {
+ "attr_type": "postal"
+ },
+ "country": {
+ "attr_type": "country"
+ },
+ "phone": {
+ "attr_type": "phone"
+ },
+ "fax": {
+ "attr_type": "fax"
+ },
+ "email": {
+ "attr_type": "email"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EnrichmentDomainWhoisContacts": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "admin": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "billing": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "registrant": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tech": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "admin": {
+ "attr_type": "admin"
+ },
+ "billing": {
+ "attr_type": "billing"
+ },
+ "registrant": {
+ "attr_type": "registrant"
+ },
+ "tech": {
+ "attr_type": "tech"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EnrichmentDomainWhoisDetails": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "registrar": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "contacts": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "name_servers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "statuses": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "registrar": {
+ "attr_type": "registrar"
+ },
+ "contacts": {
+ "attr_type": "contacts"
+ },
+ "name_servers": {
+ "attr_type": "name_servers"
+ },
+ "statuses": {
+ "attr_type": "statuses"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EnrichmentDomainWhoisRegistrarDetails": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "abuse_contact_email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "abuse_contact_phone": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "iana_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "whois_server": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "abuse_contact_email": {
+ "attr_type": "abuse_contact_email"
+ },
+ "abuse_contact_phone": {
+ "attr_type": "abuse_contact_phone"
+ },
+ "iana_id": {
+ "attr_type": "iana_id"
+ },
+ "url": {
+ "attr_type": "url"
+ },
+ "whois_server": {
+ "attr_type": "whois_server"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EnrichmentIpGeodata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "asn": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "carrier": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "city": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "city_cf": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "continent": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "country": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "country_cf": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "ip_addr": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "ip_routing_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "latitude": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "longitude": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "organization": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "organization_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "region": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "state_cf": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "state_code": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "asn": {
+ "attr_type": "asn"
+ },
+ "carrier": {
+ "attr_type": "carrier"
+ },
+ "city": {
+ "attr_type": "city"
+ },
+ "city_cf": {
+ "attr_type": "city_cf"
+ },
+ "continent": {
+ "attr_type": "continent"
+ },
+ "country": {
+ "attr_type": "country"
+ },
+ "country_cf": {
+ "attr_type": "country_cf"
+ },
+ "ip_addr": {
+ "attr_type": "ip_addr"
+ },
+ "ip_routing_type": {
+ "attr_type": "ip_routing_type"
+ },
+ "latitude": {
+ "attr_type": "latitude"
+ },
+ "longitude": {
+ "attr_type": "longitude"
+ },
+ "organization": {
+ "attr_type": "organization"
+ },
+ "organization_type": {
+ "attr_type": "organization_type"
+ },
+ "region": {
+ "attr_type": "region"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "state_cf": {
+ "attr_type": "state_cf"
+ },
+ "state_code": {
+ "attr_type": "state_code"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Entity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityAnalytics": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_providers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "entity_providers": {
+ "attr_type": "entity_providers"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityCommonProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityEdges": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "target_entity_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "additional_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "target_entity_id": {
+ "attr_type": "target_entity_id"
+ },
+ "additional_data": {
+ "attr_type": "additional_data"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityExpandParameters": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "end_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "expansion_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "start_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "end_time": {
+ "attr_type": "end_time"
+ },
+ "expansion_id": {
+ "attr_type": "expansion_id"
+ },
+ "start_time": {
+ "attr_type": "start_time"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityExpandResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "meta_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "meta_data": {
+ "attr_type": "meta_data"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityExpandResponseValue": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entities": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "edges": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entities": {
+ "attr_type": "entities"
+ },
+ "edges": {
+ "attr_type": "edges"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityFieldMapping": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "identifier": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "identifier": {
+ "attr_type": "identifier"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityGetInsightsParameters": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "start_time": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "end_time": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "add_default_extended_time_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "insight_query_ids": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "start_time": {
+ "attr_type": "start_time"
+ },
+ "end_time": {
+ "attr_type": "end_time"
+ },
+ "add_default_extended_time_range": {
+ "attr_type": "add_default_extended_time_range"
+ },
+ "insight_query_ids": {
+ "attr_type": "insight_query_ids"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityGetInsightsResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "meta_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "meta_data": {
+ "attr_type": "meta_data"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityInsightItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_time_interval": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "table_query_results": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "chart_query_results": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query_id": {
+ "attr_type": "query_id"
+ },
+ "query_time_interval": {
+ "attr_type": "query_time_interval"
+ },
+ "table_query_results": {
+ "attr_type": "table_query_results"
+ },
+ "chart_query_results": {
+ "attr_type": "chart_query_results"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityInsightItemQueryTimeInterval": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "start_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "end_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "start_time": {
+ "attr_type": "start_time"
+ },
+ "end_time": {
+ "attr_type": "end_time"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityItemQueryKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INSIGHT": "INSIGHT"
+ }
+ },
+ "EntityKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACCOUNT": "ACCOUNT",
+ "AZURE_RESOURCE": "AZURE_RESOURCE",
+ "BOOKMARK": "BOOKMARK",
+ "CLOUD_APPLICATION": "CLOUD_APPLICATION",
+ "DNS_RESOLUTION": "DNS_RESOLUTION",
+ "FILE": "FILE",
+ "FILE_HASH": "FILE_HASH",
+ "HOST": "HOST",
+ "IO_T_DEVICE": "IO_T_DEVICE",
+ "IP": "IP",
+ "MAILBOX": "MAILBOX",
+ "MAIL_CLUSTER": "MAIL_CLUSTER",
+ "MAIL_MESSAGE": "MAIL_MESSAGE",
+ "MALWARE": "MALWARE",
+ "NIC": "NIC",
+ "PROCESS": "PROCESS",
+ "REGISTRY_KEY": "REGISTRY_KEY",
+ "REGISTRY_VALUE": "REGISTRY_VALUE",
+ "SECURITY_ALERT": "SECURITY_ALERT",
+ "SECURITY_GROUP": "SECURITY_GROUP",
+ "SUBMISSION_MAIL": "SUBMISSION_MAIL",
+ "URL": "URL"
+ }
+ },
+ "EntityList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityMapping": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "field_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entity_type": {
+ "attr_type": "entity_type"
+ },
+ "field_mappings": {
+ "attr_type": "field_mappings"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityMappingType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACCOUNT": "ACCOUNT",
+ "AZURE_RESOURCE": "AZURE_RESOURCE",
+ "CLOUD_APPLICATION": "CLOUD_APPLICATION",
+ "DNS": "DNS",
+ "FILE": "FILE",
+ "FILE_HASH": "FILE_HASH",
+ "HOST": "HOST",
+ "IP": "IP",
+ "MAILBOX": "MAILBOX",
+ "MAIL_CLUSTER": "MAIL_CLUSTER",
+ "MAIL_MESSAGE": "MAIL_MESSAGE",
+ "MALWARE": "MALWARE",
+ "PROCESS": "PROCESS",
+ "REGISTRY_KEY": "REGISTRY_KEY",
+ "REGISTRY_VALUE": "REGISTRY_VALUE",
+ "SECURITY_GROUP": "SECURITY_GROUP",
+ "SUBMISSION_MAIL": "SUBMISSION_MAIL",
+ "URL": "URL"
+ }
+ },
+ "EntityProviders": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVE_DIRECTORY": "ACTIVE_DIRECTORY",
+ "AZURE_ACTIVE_DIRECTORY": "AZURE_ACTIVE_DIRECTORY"
+ }
+ },
+ "EntityQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "type": {
+ "attr_type": "type"
+ },
+ "kind": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryItemProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_input_fields_sets": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "required_input_fields_sets": {
+ "attr_type": "required_input_fields_sets"
+ },
+ "entities_filter": {
+ "attr_type": "entities_filter"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryItemPropertiesDataTypesItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_type": {
+ "attr_type": "data_type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY",
+ "EXPANSION": "EXPANSION",
+ "INSIGHT": "INSIGHT"
+ }
+ },
+ "EntityQueryList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityQueryTemplateKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY"
+ }
+ },
+ "EntityQueryTemplateList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityTimelineItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityTimelineKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY",
+ "ANOMALY": "ANOMALY",
+ "BOOKMARK": "BOOKMARK",
+ "SECURITY_ALERT": "SECURITY_ALERT"
+ }
+ },
+ "EntityTimelineParameters": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "start_time": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "end_time": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kinds": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "number_of_bucket": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kinds": {
+ "attr_type": "kinds"
+ },
+ "start_time": {
+ "attr_type": "start_time"
+ },
+ "end_time": {
+ "attr_type": "end_time"
+ },
+ "number_of_bucket": {
+ "attr_type": "number_of_bucket"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityTimelineResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "meta_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "meta_data": {
+ "attr_type": "meta_data"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EntityType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACCOUNT": "ACCOUNT",
+ "AZURE_RESOURCE": "AZURE_RESOURCE",
+ "CLOUD_APPLICATION": "CLOUD_APPLICATION",
+ "DNS": "DNS",
+ "FILE": "FILE",
+ "FILE_HASH": "FILE_HASH",
+ "HOST": "HOST",
+ "HUNTING_BOOKMARK": "HUNTING_BOOKMARK",
+ "IO_T_DEVICE": "IO_T_DEVICE",
+ "IP": "IP",
+ "MAILBOX": "MAILBOX",
+ "MAIL_CLUSTER": "MAIL_CLUSTER",
+ "MAIL_MESSAGE": "MAIL_MESSAGE",
+ "MALWARE": "MALWARE",
+ "NIC": "NIC",
+ "PROCESS": "PROCESS",
+ "REGISTRY_KEY": "REGISTRY_KEY",
+ "REGISTRY_VALUE": "REGISTRY_VALUE",
+ "SECURITY_ALERT": "SECURITY_ALERT",
+ "SECURITY_GROUP": "SECURITY_GROUP",
+ "SUBMISSION_MAIL": "SUBMISSION_MAIL",
+ "URL": "URL"
+ }
+ },
+ "Enum13": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY",
+ "EXPANSION": "EXPANSION"
+ }
+ },
+ "Enum15": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVITY": "ACTIVITY"
+ }
+ },
+ "EventGroupingAggregationKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ALERT_PER_RESULT": "ALERT_PER_RESULT",
+ "SINGLE_ALERT": "SINGLE_ALERT"
+ }
+ },
+ "EventGroupingSettings": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "aggregation_kind": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "aggregation_kind": {
+ "attr_type": "aggregation_kind"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ExpansionEntityQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_sources": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_fields": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "output_entity_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_template": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "data_sources": {
+ "attr_type": "data_sources"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "input_fields": {
+ "attr_type": "input_fields"
+ },
+ "output_entity_types": {
+ "attr_type": "output_entity_types"
+ },
+ "query_template": {
+ "attr_type": "query_template"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ExpansionResultAggregation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "count": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "entity_kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "aggregation_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "aggregation_type": {
+ "attr_type": "aggregation_type"
+ },
+ "count": {
+ "attr_type": "count"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "entity_kind": {
+ "attr_type": "entity_kind"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ExpansionResultsMetadata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "aggregations": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "aggregations": {
+ "attr_type": "aggregations"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "EyesOn": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "is_enabled": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FieldMapping": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "identifier": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "column_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "identifier": {
+ "attr_type": "identifier"
+ },
+ "column_name": {
+ "attr_type": "column_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "directory": {
+ "attr_type": null
+ },
+ "file_hash_entity_ids": {
+ "attr_type": null
+ },
+ "file_name": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "directory": {
+ "attr_type": null
+ },
+ "file_hash_entity_ids": {
+ "attr_type": null
+ },
+ "file_name": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileFormat": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CSV": "CSV",
+ "JSON": "JSON",
+ "UNSPECIFIED": "UNSPECIFIED"
+ }
+ },
+ "FileHashAlgorithm": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "MD5": "MD5",
+ "SHA1": "SHA1",
+ "SHA256": "SHA256",
+ "SHA256_AC": "SHA256_AC",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "FileHashEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "algorithm": {
+ "attr_type": null
+ },
+ "hash_value": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileHashEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "algorithm": {
+ "attr_type": null
+ },
+ "hash_value": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileImport": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "ingestion_mode": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "import_file": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "ingestion_mode": {
+ "attr_type": "ingestion_mode"
+ },
+ "content_type": {
+ "attr_type": "content_type"
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "error_file": {
+ "attr_type": null
+ },
+ "errors_preview": {
+ "attr_type": null
+ },
+ "import_file": {
+ "attr_type": "import_file"
+ },
+ "ingested_record_count": {
+ "attr_type": null
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "state": {
+ "attr_type": null
+ },
+ "total_record_count": {
+ "attr_type": null
+ },
+ "valid_record_count": {
+ "attr_type": null
+ },
+ "files_valid_until_time_utc": {
+ "attr_type": null
+ },
+ "import_valid_until_time_utc": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileImportContentType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "BASIC_INDICATOR": "BASIC_INDICATOR",
+ "STIX_INDICATOR": "STIX_INDICATOR",
+ "UNSPECIFIED": "UNSPECIFIED"
+ }
+ },
+ "FileImportList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FileImportState": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "FATAL_ERROR": "FATAL_ERROR",
+ "INGESTED": "INGESTED",
+ "INGESTED_WITH_ERRORS": "INGESTED_WITH_ERRORS",
+ "INVALID": "INVALID",
+ "IN_PROGRESS": "IN_PROGRESS",
+ "UNSPECIFIED": "UNSPECIFIED",
+ "WAITING_FOR_UPLOAD": "WAITING_FOR_UPLOAD"
+ }
+ },
+ "FileMetadata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "file_format": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "file_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "file_size": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "file_format": {
+ "attr_type": "file_format"
+ },
+ "file_name": {
+ "attr_type": "file_name"
+ },
+ "file_size": {
+ "attr_type": "file_size"
+ },
+ "file_content_uri": {
+ "attr_type": null
+ },
+ "delete_status": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "scenario_exclusion_patterns": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "description": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "source_settings": {
+ "attr_type": "source_settings"
+ },
+ "scenario_exclusion_patterns": {
+ "attr_type": "scenario_exclusion_patterns"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "severity": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "techniques": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "source_settings": {
+ "attr_type": "source_settings"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionScenarioExclusionPattern": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "exclusion_pattern": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "date_added_in_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "exclusion_pattern": {
+ "attr_type": "exclusion_pattern"
+ },
+ "date_added_in_utc": {
+ "attr_type": "date_added_in_utc"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionSourceSettings": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "source_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "source_sub_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "source_name": {
+ "attr_type": "source_name"
+ },
+ "source_sub_types": {
+ "attr_type": "source_sub_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionSourceSubTypeSetting": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "source_sub_type_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "severity_filters": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "source_sub_type_name": {
+ "attr_type": "source_sub_type_name"
+ },
+ "source_sub_type_display_name": {
+ "attr_type": null
+ },
+ "severity_filters": {
+ "attr_type": "severity_filters"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionSubTypeSeverityFilter": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "is_supported": {
+ "attr_type": null
+ },
+ "filters": {
+ "attr_type": "filters"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionSubTypeSeverityFiltersItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "severity": {
+ "attr_type": "severity"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionTemplateSourceSetting": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "source_sub_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "source_name": {
+ "attr_type": "source_name"
+ },
+ "source_sub_types": {
+ "attr_type": "source_sub_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionTemplateSourceSubType": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "source_sub_type_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "severity_filter": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "source_sub_type_name": {
+ "attr_type": "source_sub_type_name"
+ },
+ "source_sub_type_display_name": {
+ "attr_type": null
+ },
+ "severity_filter": {
+ "attr_type": "severity_filter"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "FusionTemplateSubTypeSeverityFilter": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "is_supported": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "severity_filters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "is_supported": {
+ "attr_type": "is_supported"
+ },
+ "severity_filters": {
+ "attr_type": "severity_filters"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GeoLocation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "asn": {
+ "attr_type": null
+ },
+ "city": {
+ "attr_type": null
+ },
+ "country_code": {
+ "attr_type": null
+ },
+ "country_name": {
+ "attr_type": null
+ },
+ "latitude": {
+ "attr_type": null
+ },
+ "longitude": {
+ "attr_type": null
+ },
+ "state": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GetInsightsError": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INSIGHT": "INSIGHT"
+ }
+ },
+ "GetInsightsErrorKind": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "error_message": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": "kind"
+ },
+ "query_id": {
+ "attr_type": "query_id"
+ },
+ "error_message": {
+ "attr_type": "error_message"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GetInsightsResultsMetadata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "total_count": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "errors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "total_count": {
+ "attr_type": "total_count"
+ },
+ "errors": {
+ "attr_type": "errors"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GetQueriesResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GitHubResourceInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "app_installation_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "app_installation_id": {
+ "attr_type": "app_installation_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GraphQueries": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metric_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "legend": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "base_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "metric_name": {
+ "attr_type": "metric_name"
+ },
+ "legend": {
+ "attr_type": "legend"
+ },
+ "base_query": {
+ "attr_type": "base_query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "GroupingConfiguration": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "reopen_closed_incident": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "lookback_duration": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "matching_method": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "group_by_entities": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "group_by_alert_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "group_by_custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "reopen_closed_incident": {
+ "attr_type": "reopen_closed_incident"
+ },
+ "lookback_duration": {
+ "attr_type": "lookback_duration"
+ },
+ "matching_method": {
+ "attr_type": "matching_method"
+ },
+ "group_by_entities": {
+ "attr_type": "group_by_entities"
+ },
+ "group_by_alert_details": {
+ "attr_type": "group_by_alert_details"
+ },
+ "group_by_custom_details": {
+ "attr_type": "group_by_custom_details"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "HostEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "os_family": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "azure_id": {
+ "attr_type": null
+ },
+ "dns_domain": {
+ "attr_type": null
+ },
+ "host_name": {
+ "attr_type": null
+ },
+ "is_domain_joined": {
+ "attr_type": null
+ },
+ "net_bios_name": {
+ "attr_type": null
+ },
+ "nt_domain": {
+ "attr_type": null
+ },
+ "oms_agent_id": {
+ "attr_type": null
+ },
+ "os_family": {
+ "attr_type": "os_family"
+ },
+ "os_version": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "HostEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "os_family": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "azure_id": {
+ "attr_type": null
+ },
+ "dns_domain": {
+ "attr_type": null
+ },
+ "host_name": {
+ "attr_type": null
+ },
+ "is_domain_joined": {
+ "attr_type": null
+ },
+ "net_bios_name": {
+ "attr_type": null
+ },
+ "nt_domain": {
+ "attr_type": null
+ },
+ "oms_agent_id": {
+ "attr_type": null
+ },
+ "os_family": {
+ "attr_type": "os_family"
+ },
+ "os_version": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "HuntingBookmark": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "notes": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_result": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "event_time": {
+ "attr_type": "event_time"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "notes": {
+ "attr_type": "notes"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_result": {
+ "attr_type": "query_result"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "updated_by": {
+ "attr_type": "updated_by"
+ },
+ "incident_info": {
+ "attr_type": "incident_info"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "HuntingBookmarkProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "notes": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_result": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "created": {
+ "attr_type": "created"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "event_time": {
+ "attr_type": "event_time"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "notes": {
+ "attr_type": "notes"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_result": {
+ "attr_type": "query_result"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "updated_by": {
+ "attr_type": "updated_by"
+ },
+ "incident_info": {
+ "attr_type": "incident_info"
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Incident": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification_reason": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification_comment": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "owner": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "first_activity_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_activity_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider_incident_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "team_information": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "classification": {
+ "attr_type": "classification"
+ },
+ "classification_reason": {
+ "attr_type": "classification_reason"
+ },
+ "classification_comment": {
+ "attr_type": "classification_comment"
+ },
+ "owner": {
+ "attr_type": "owner"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "first_activity_time_utc": {
+ "attr_type": "first_activity_time_utc"
+ },
+ "last_activity_time_utc": {
+ "attr_type": "last_activity_time_utc"
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "incident_number": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "related_analytic_rule_ids": {
+ "attr_type": null
+ },
+ "incident_url": {
+ "attr_type": null
+ },
+ "provider_name": {
+ "attr_type": "provider_name"
+ },
+ "provider_incident_id": {
+ "attr_type": "provider_incident_id"
+ },
+ "team_information": {
+ "attr_type": "team_information"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentAdditionalData": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alerts_count": {
+ "attr_type": null
+ },
+ "bookmarks_count": {
+ "attr_type": null
+ },
+ "comments_count": {
+ "attr_type": null
+ },
+ "alert_product_names": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "techniques": {
+ "attr_type": null
+ },
+ "provider_incident_url": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentAlertList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentBookmarkList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentClassification": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "BENIGN_POSITIVE": "BENIGN_POSITIVE",
+ "FALSE_POSITIVE": "FALSE_POSITIVE",
+ "TRUE_POSITIVE": "TRUE_POSITIVE",
+ "UNDETERMINED": "UNDETERMINED"
+ }
+ },
+ "IncidentClassificationReason": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INACCURATE_DATA": "INACCURATE_DATA",
+ "INCORRECT_ALERT_LOGIC": "INCORRECT_ALERT_LOGIC",
+ "SUSPICIOUS_ACTIVITY": "SUSPICIOUS_ACTIVITY",
+ "SUSPICIOUS_BUT_EXPECTED": "SUSPICIOUS_BUT_EXPECTED"
+ }
+ },
+ "IncidentComment": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "message": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "message": {
+ "attr_type": "message"
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "author": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentCommentList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "next_link": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentConfiguration": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "create_incident": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "grouping_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "create_incident": {
+ "attr_type": "create_incident"
+ },
+ "grouping_configuration": {
+ "attr_type": "grouping_configuration"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentEntitiesResponse": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entities": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "meta_data": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entities": {
+ "attr_type": "entities"
+ },
+ "meta_data": {
+ "attr_type": "meta_data"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentEntitiesResultsMetadata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "entity_kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "count": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "entity_kind": {
+ "attr_type": "entity_kind"
+ },
+ "count": {
+ "attr_type": "count"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incident_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "relation_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "incident_id": {
+ "attr_type": "incident_id"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "relation_name": {
+ "attr_type": "relation_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentLabel": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "label_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "label_name": {
+ "attr_type": "label_name"
+ },
+ "label_type": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentLabelType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AUTO_ASSIGNED": "AUTO_ASSIGNED",
+ "USER": "USER"
+ }
+ },
+ "IncidentList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "next_link": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentOwnerInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "assigned_to": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "object_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "user_principal_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "owner_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "email": {
+ "attr_type": "email"
+ },
+ "assigned_to": {
+ "attr_type": "assigned_to"
+ },
+ "object_id": {
+ "attr_type": "object_id"
+ },
+ "user_principal_name": {
+ "attr_type": "user_principal_name"
+ },
+ "owner_type": {
+ "attr_type": "owner_type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentPropertiesAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification_reason": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "classification_comment": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "owner": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "severity": {
+ "attr_type": "severity"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "classification": {
+ "attr_type": "classification"
+ },
+ "classification_reason": {
+ "attr_type": "classification_reason"
+ },
+ "classification_comment": {
+ "attr_type": "classification_comment"
+ },
+ "owner": {
+ "attr_type": "owner"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentSeverity": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HIGH": "HIGH",
+ "INFORMATIONAL": "INFORMATIONAL",
+ "LOW": "LOW",
+ "MEDIUM": "MEDIUM"
+ }
+ },
+ "IncidentStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVE": "ACTIVE",
+ "CLOSED": "CLOSED",
+ "NEW": "NEW"
+ }
+ },
+ "IncidentTask": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_modified_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "created_time_utc": {
+ "attr_type": null
+ },
+ "last_modified_time_utc": {
+ "attr_type": null
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "last_modified_by": {
+ "attr_type": "last_modified_by"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentTaskList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "next_link": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "next_link": {
+ "attr_type": "next_link"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IncidentTaskStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COMPLETED": "COMPLETED",
+ "NEW": "NEW"
+ }
+ },
+ "IngestionMode": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INGEST_ANY_VALID_RECORDS": "INGEST_ANY_VALID_RECORDS",
+ "INGEST_ONLY_IF_ALL_ARE_VALID": "INGEST_ONLY_IF_ALL_ARE_VALID",
+ "UNSPECIFIED": "UNSPECIFIED"
+ }
+ },
+ "InsightQueryItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "properties": {
+ "attr_type": "properties"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "type": {
+ "attr_type": "type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "input_entity_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_input_fields_sets": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "base_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "table_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "chart_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "additional_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "default_time_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "reference_time_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "base_query": {
+ "attr_type": "base_query"
+ },
+ "table_query": {
+ "attr_type": "table_query"
+ },
+ "chart_query": {
+ "attr_type": "chart_query"
+ },
+ "additional_query": {
+ "attr_type": "additional_query"
+ },
+ "default_time_range": {
+ "attr_type": "default_time_range"
+ },
+ "reference_time_range": {
+ "attr_type": "reference_time_range"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "input_entity_type": {
+ "attr_type": "input_entity_type"
+ },
+ "required_input_fields_sets": {
+ "attr_type": "required_input_fields_sets"
+ },
+ "entities_filter": {
+ "attr_type": "entities_filter"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesAdditionalQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "text": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "text": {
+ "attr_type": "text"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesDefaultTimeRange": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "before_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "after_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "before_range": {
+ "attr_type": "before_range"
+ },
+ "after_range": {
+ "attr_type": "after_range"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesReferenceTimeRange": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "before_range": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "before_range": {
+ "attr_type": "before_range"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesTableQuery": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "columns_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "queries_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "columns_definitions": {
+ "attr_type": "columns_definitions"
+ },
+ "queries_definitions": {
+ "attr_type": "queries_definitions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesTableQueryColumnsDefinitionsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "header": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "output_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "support_deep_link": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "header": {
+ "attr_type": "header"
+ },
+ "output_type": {
+ "attr_type": "output_type"
+ },
+ "support_deep_link": {
+ "attr_type": "support_deep_link"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesTableQueryQueriesDefinitionsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "summarize": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "project": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "link_columns_definitions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "filter": {
+ "attr_type": "filter"
+ },
+ "summarize": {
+ "attr_type": "summarize"
+ },
+ "project": {
+ "attr_type": "project"
+ },
+ "link_columns_definitions": {
+ "attr_type": "link_columns_definitions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightQueryItemPropertiesTableQueryQueriesDefinitionsPropertiesItemsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "projected_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "projected_name": {
+ "attr_type": "projected_name"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightsTableResult": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "columns": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "rows": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "columns": {
+ "attr_type": "columns"
+ },
+ "rows": {
+ "attr_type": "rows"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InsightsTableResultColumnsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "type": {
+ "attr_type": "type"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InstructionSteps": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "title": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "instructions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "instructions": {
+ "attr_type": "instructions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "InstructionStepsInstructionsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "type": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "parameters": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "parameters": {
+ "attr_type": "parameters"
+ },
+ "type": {
+ "attr_type": "type"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Instructions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "actions_to_be_performed": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "recommendation_importance": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "how_to_perform_action_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "actions_to_be_performed": {
+ "attr_type": "actions_to_be_performed"
+ },
+ "recommendation_importance": {
+ "attr_type": "recommendation_importance"
+ },
+ "how_to_perform_action_details": {
+ "attr_type": "how_to_perform_action_details"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IoTCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IoTDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IoTDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "subscription_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "subscription_id": {
+ "attr_type": "subscription_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IoTDeviceEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "importance": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "device_id": {
+ "attr_type": null
+ },
+ "device_name": {
+ "attr_type": null
+ },
+ "source": {
+ "attr_type": null
+ },
+ "iot_security_agent_id": {
+ "attr_type": null
+ },
+ "device_type": {
+ "attr_type": null
+ },
+ "vendor": {
+ "attr_type": null
+ },
+ "edge_id": {
+ "attr_type": null
+ },
+ "mac_address": {
+ "attr_type": null
+ },
+ "model": {
+ "attr_type": null
+ },
+ "serial_number": {
+ "attr_type": null
+ },
+ "firmware_version": {
+ "attr_type": null
+ },
+ "operating_system": {
+ "attr_type": null
+ },
+ "iot_hub_entity_id": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "ip_address_entity_id": {
+ "attr_type": null
+ },
+ "threat_intelligence": {
+ "attr_type": null
+ },
+ "protocols": {
+ "attr_type": null
+ },
+ "owners": {
+ "attr_type": null
+ },
+ "nic_entity_ids": {
+ "attr_type": null
+ },
+ "site": {
+ "attr_type": null
+ },
+ "zone": {
+ "attr_type": null
+ },
+ "sensor": {
+ "attr_type": null
+ },
+ "device_sub_type": {
+ "attr_type": null
+ },
+ "importance": {
+ "attr_type": "importance"
+ },
+ "purdue_layer": {
+ "attr_type": null
+ },
+ "is_authorized": {
+ "attr_type": null
+ },
+ "is_programming": {
+ "attr_type": null
+ },
+ "is_scanner": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IoTDeviceEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "importance": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "device_id": {
+ "attr_type": null
+ },
+ "device_name": {
+ "attr_type": null
+ },
+ "source": {
+ "attr_type": null
+ },
+ "iot_security_agent_id": {
+ "attr_type": null
+ },
+ "device_type": {
+ "attr_type": null
+ },
+ "vendor": {
+ "attr_type": null
+ },
+ "edge_id": {
+ "attr_type": null
+ },
+ "mac_address": {
+ "attr_type": null
+ },
+ "model": {
+ "attr_type": null
+ },
+ "serial_number": {
+ "attr_type": null
+ },
+ "firmware_version": {
+ "attr_type": null
+ },
+ "operating_system": {
+ "attr_type": null
+ },
+ "iot_hub_entity_id": {
+ "attr_type": null
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "ip_address_entity_id": {
+ "attr_type": null
+ },
+ "threat_intelligence": {
+ "attr_type": null
+ },
+ "protocols": {
+ "attr_type": null
+ },
+ "owners": {
+ "attr_type": null
+ },
+ "nic_entity_ids": {
+ "attr_type": null
+ },
+ "site": {
+ "attr_type": null
+ },
+ "zone": {
+ "attr_type": null
+ },
+ "sensor": {
+ "attr_type": null
+ },
+ "device_sub_type": {
+ "attr_type": null
+ },
+ "importance": {
+ "attr_type": "importance"
+ },
+ "purdue_layer": {
+ "attr_type": null
+ },
+ "is_authorized": {
+ "attr_type": null
+ },
+ "is_programming": {
+ "attr_type": null
+ },
+ "is_scanner": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IpEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "address": {
+ "attr_type": null
+ },
+ "location": {
+ "attr_type": null
+ },
+ "threat_intelligence": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "IpEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "address": {
+ "attr_type": null
+ },
+ "location": {
+ "attr_type": null
+ },
+ "threat_intelligence": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "KillChainIntent": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COLLECTION": "COLLECTION",
+ "COMMAND_AND_CONTROL": "COMMAND_AND_CONTROL",
+ "CREDENTIAL_ACCESS": "CREDENTIAL_ACCESS",
+ "DEFENSE_EVASION": "DEFENSE_EVASION",
+ "DISCOVERY": "DISCOVERY",
+ "EXECUTION": "EXECUTION",
+ "EXFILTRATION": "EXFILTRATION",
+ "EXPLOITATION": "EXPLOITATION",
+ "IMPACT": "IMPACT",
+ "LATERAL_MOVEMENT": "LATERAL_MOVEMENT",
+ "PERSISTENCE": "PERSISTENCE",
+ "PRIVILEGE_ESCALATION": "PRIVILEGE_ESCALATION",
+ "PROBING": "PROBING",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "Kind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANALYTICS_RULE": "ANALYTICS_RULE",
+ "ANALYTICS_RULE_TEMPLATE": "ANALYTICS_RULE_TEMPLATE",
+ "AUTOMATION_RULE": "AUTOMATION_RULE",
+ "AZURE_FUNCTION": "AZURE_FUNCTION",
+ "DATA_CONNECTOR": "DATA_CONNECTOR",
+ "DATA_TYPE": "DATA_TYPE",
+ "HUNTING_QUERY": "HUNTING_QUERY",
+ "INVESTIGATION_QUERY": "INVESTIGATION_QUERY",
+ "LOGIC_APPS_CUSTOM_CONNECTOR": "LOGIC_APPS_CUSTOM_CONNECTOR",
+ "PARSER": "PARSER",
+ "PLAYBOOK": "PLAYBOOK",
+ "PLAYBOOK_TEMPLATE": "PLAYBOOK_TEMPLATE",
+ "SOLUTION": "SOLUTION",
+ "WATCHLIST": "WATCHLIST",
+ "WATCHLIST_TEMPLATE": "WATCHLIST_TEMPLATE",
+ "WORKBOOK": "WORKBOOK",
+ "WORKBOOK_TEMPLATE": "WORKBOOK_TEMPLATE"
+ }
+ },
+ "LastDataReceivedDataType": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_data_received_query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "last_data_received_query": {
+ "attr_type": "last_data_received_query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MCASCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MCASCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MCASDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MCASDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alerts": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "discovery_logs": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "discovery_logs": {
+ "attr_type": "discovery_logs"
+ },
+ "alerts": {
+ "attr_type": "alerts"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MCASDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MDATPCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MDATPCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MDATPDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MDATPDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MLBehaviorAnalyticsAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "description": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "severity": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "techniques": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MLBehaviorAnalyticsAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MLBehaviorAnalyticsAlertRuleTemplateProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "severity": {
+ "attr_type": "severity"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTICheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTICheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTIDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTIDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "bing_safety_phishing_url": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "microsoft_emerging_threat_feed": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "bing_safety_phishing_url": {
+ "attr_type": "bing_safety_phishing_url"
+ },
+ "microsoft_emerging_threat_feed": {
+ "attr_type": "microsoft_emerging_threat_feed"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTIDataConnectorDataTypesBingSafetyPhishingURL": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "lookback_period": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "lookback_period": {
+ "attr_type": "lookback_period"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTIDataConnectorDataTypesMicrosoftEmergingThreatFeed": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "lookback_period": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "lookback_period": {
+ "attr_type": "lookback_period"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MSTIDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MTPCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MTPDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MTPDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "incidents": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "incidents": {
+ "attr_type": "incidents"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MTPDataConnectorDataTypesIncidents": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MTPDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailClusterEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "network_message_ids": {
+ "attr_type": null
+ },
+ "count_by_delivery_status": {
+ "attr_type": null
+ },
+ "count_by_threat_type": {
+ "attr_type": null
+ },
+ "count_by_protection_status": {
+ "attr_type": null
+ },
+ "threats": {
+ "attr_type": null
+ },
+ "query": {
+ "attr_type": null
+ },
+ "query_time": {
+ "attr_type": null
+ },
+ "mail_count": {
+ "attr_type": null
+ },
+ "is_volume_anomaly": {
+ "attr_type": null
+ },
+ "source": {
+ "attr_type": null
+ },
+ "cluster_source_identifier": {
+ "attr_type": null
+ },
+ "cluster_source_type": {
+ "attr_type": null
+ },
+ "cluster_query_start_time": {
+ "attr_type": null
+ },
+ "cluster_query_end_time": {
+ "attr_type": null
+ },
+ "cluster_group": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailClusterEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "network_message_ids": {
+ "attr_type": null
+ },
+ "count_by_delivery_status": {
+ "attr_type": null
+ },
+ "count_by_threat_type": {
+ "attr_type": null
+ },
+ "count_by_protection_status": {
+ "attr_type": null
+ },
+ "threats": {
+ "attr_type": null
+ },
+ "query": {
+ "attr_type": null
+ },
+ "query_time": {
+ "attr_type": null
+ },
+ "mail_count": {
+ "attr_type": null
+ },
+ "is_volume_anomaly": {
+ "attr_type": null
+ },
+ "source": {
+ "attr_type": null
+ },
+ "cluster_source_identifier": {
+ "attr_type": null
+ },
+ "cluster_source_type": {
+ "attr_type": null
+ },
+ "cluster_query_start_time": {
+ "attr_type": null
+ },
+ "cluster_query_end_time": {
+ "attr_type": null
+ },
+ "cluster_group": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailMessageEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "body_fingerprint_bin1": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin2": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin3": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin4": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin5": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "antispam_direction": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "delivery_action": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "delivery_location": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "file_entity_ids": {
+ "attr_type": null
+ },
+ "recipient": {
+ "attr_type": null
+ },
+ "urls": {
+ "attr_type": null
+ },
+ "threats": {
+ "attr_type": null
+ },
+ "p1_sender": {
+ "attr_type": null
+ },
+ "p1_sender_display_name": {
+ "attr_type": null
+ },
+ "p1_sender_domain": {
+ "attr_type": null
+ },
+ "sender_ip": {
+ "attr_type": null
+ },
+ "p2_sender": {
+ "attr_type": null
+ },
+ "p2_sender_display_name": {
+ "attr_type": null
+ },
+ "p2_sender_domain": {
+ "attr_type": null
+ },
+ "receive_date": {
+ "attr_type": null
+ },
+ "network_message_id": {
+ "attr_type": null
+ },
+ "internet_message_id": {
+ "attr_type": null
+ },
+ "subject": {
+ "attr_type": null
+ },
+ "language": {
+ "attr_type": null
+ },
+ "threat_detection_methods": {
+ "attr_type": null
+ },
+ "body_fingerprint_bin1": {
+ "attr_type": "body_fingerprint_bin1"
+ },
+ "body_fingerprint_bin2": {
+ "attr_type": "body_fingerprint_bin2"
+ },
+ "body_fingerprint_bin3": {
+ "attr_type": "body_fingerprint_bin3"
+ },
+ "body_fingerprint_bin4": {
+ "attr_type": "body_fingerprint_bin4"
+ },
+ "body_fingerprint_bin5": {
+ "attr_type": "body_fingerprint_bin5"
+ },
+ "antispam_direction": {
+ "attr_type": "antispam_direction"
+ },
+ "delivery_action": {
+ "attr_type": "delivery_action"
+ },
+ "delivery_location": {
+ "attr_type": "delivery_location"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailMessageEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "body_fingerprint_bin1": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin2": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin3": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin4": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "body_fingerprint_bin5": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "antispam_direction": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "delivery_action": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "delivery_location": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "file_entity_ids": {
+ "attr_type": null
+ },
+ "recipient": {
+ "attr_type": null
+ },
+ "urls": {
+ "attr_type": null
+ },
+ "threats": {
+ "attr_type": null
+ },
+ "p1_sender": {
+ "attr_type": null
+ },
+ "p1_sender_display_name": {
+ "attr_type": null
+ },
+ "p1_sender_domain": {
+ "attr_type": null
+ },
+ "sender_ip": {
+ "attr_type": null
+ },
+ "p2_sender": {
+ "attr_type": null
+ },
+ "p2_sender_display_name": {
+ "attr_type": null
+ },
+ "p2_sender_domain": {
+ "attr_type": null
+ },
+ "receive_date": {
+ "attr_type": null
+ },
+ "network_message_id": {
+ "attr_type": null
+ },
+ "internet_message_id": {
+ "attr_type": null
+ },
+ "subject": {
+ "attr_type": null
+ },
+ "language": {
+ "attr_type": null
+ },
+ "threat_detection_methods": {
+ "attr_type": null
+ },
+ "body_fingerprint_bin1": {
+ "attr_type": "body_fingerprint_bin1"
+ },
+ "body_fingerprint_bin2": {
+ "attr_type": "body_fingerprint_bin2"
+ },
+ "body_fingerprint_bin3": {
+ "attr_type": "body_fingerprint_bin3"
+ },
+ "body_fingerprint_bin4": {
+ "attr_type": "body_fingerprint_bin4"
+ },
+ "body_fingerprint_bin5": {
+ "attr_type": "body_fingerprint_bin5"
+ },
+ "antispam_direction": {
+ "attr_type": "antispam_direction"
+ },
+ "delivery_action": {
+ "attr_type": "delivery_action"
+ },
+ "delivery_location": {
+ "attr_type": "delivery_location"
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailboxEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "mailbox_primary_address": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "upn": {
+ "attr_type": null
+ },
+ "external_directory_object_id": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MailboxEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "mailbox_primary_address": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "upn": {
+ "attr_type": null
+ },
+ "external_directory_object_id": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MalwareEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "category": {
+ "attr_type": null
+ },
+ "file_entity_ids": {
+ "attr_type": null
+ },
+ "malware_name": {
+ "attr_type": null
+ },
+ "process_entity_ids": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MalwareEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "category": {
+ "attr_type": null
+ },
+ "file_entity_ids": {
+ "attr_type": null
+ },
+ "malware_name": {
+ "attr_type": null
+ },
+ "process_entity_ids": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ManualTriggerRequestBody": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logic_apps_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "logic_apps_resource_id": {
+ "attr_type": "logic_apps_resource_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MatchingMethod": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ALL_ENTITIES": "ALL_ENTITIES",
+ "ANY_ALERT": "ANY_ALERT",
+ "SELECTED": "SELECTED"
+ }
+ },
+ "MetadataAuthor": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "link": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "email": {
+ "attr_type": "email"
+ },
+ "link": {
+ "attr_type": "link"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataCategories": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "domains": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "verticals": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "domains": {
+ "attr_type": "domains"
+ },
+ "verticals": {
+ "attr_type": "verticals"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataDependencies": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "criteria": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "content_id": {
+ "attr_type": "content_id"
+ },
+ "kind": {
+ "attr_type": "kind"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "operator": {
+ "attr_type": "operator"
+ },
+ "criteria": {
+ "attr_type": "criteria"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "next_link": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataModel": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "parent_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "author": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "support": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "dependencies": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "categories": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "providers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "first_publish_date": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_publish_date": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_schema_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "icon": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_analysis_tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_analysis_techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "preview_images": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "preview_images_dark": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "content_id": {
+ "attr_type": "content_id"
+ },
+ "parent_id": {
+ "attr_type": "parent_id"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "kind": {
+ "attr_type": "kind"
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "author": {
+ "attr_type": "author"
+ },
+ "support": {
+ "attr_type": "support"
+ },
+ "dependencies": {
+ "attr_type": "dependencies"
+ },
+ "categories": {
+ "attr_type": "categories"
+ },
+ "providers": {
+ "attr_type": "providers"
+ },
+ "first_publish_date": {
+ "attr_type": "first_publish_date"
+ },
+ "last_publish_date": {
+ "attr_type": "last_publish_date"
+ },
+ "custom_version": {
+ "attr_type": "custom_version"
+ },
+ "content_schema_version": {
+ "attr_type": "content_schema_version"
+ },
+ "icon": {
+ "attr_type": "icon"
+ },
+ "threat_analysis_tactics": {
+ "attr_type": "threat_analysis_tactics"
+ },
+ "threat_analysis_techniques": {
+ "attr_type": "threat_analysis_techniques"
+ },
+ "preview_images": {
+ "attr_type": "preview_images"
+ },
+ "preview_images_dark": {
+ "attr_type": "preview_images_dark"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataPatch": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "parent_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kind": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "author": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "support": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "dependencies": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "categories": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "providers": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "first_publish_date": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_publish_date": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_schema_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "icon": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_analysis_tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_analysis_techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "preview_images": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "preview_images_dark": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "content_id": {
+ "attr_type": "content_id"
+ },
+ "parent_id": {
+ "attr_type": "parent_id"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "kind": {
+ "attr_type": "kind"
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "author": {
+ "attr_type": "author"
+ },
+ "support": {
+ "attr_type": "support"
+ },
+ "dependencies": {
+ "attr_type": "dependencies"
+ },
+ "categories": {
+ "attr_type": "categories"
+ },
+ "providers": {
+ "attr_type": "providers"
+ },
+ "first_publish_date": {
+ "attr_type": "first_publish_date"
+ },
+ "last_publish_date": {
+ "attr_type": "last_publish_date"
+ },
+ "custom_version": {
+ "attr_type": "custom_version"
+ },
+ "content_schema_version": {
+ "attr_type": "content_schema_version"
+ },
+ "icon": {
+ "attr_type": "icon"
+ },
+ "threat_analysis_tactics": {
+ "attr_type": "threat_analysis_tactics"
+ },
+ "threat_analysis_techniques": {
+ "attr_type": "threat_analysis_techniques"
+ },
+ "preview_images": {
+ "attr_type": "preview_images"
+ },
+ "preview_images_dark": {
+ "attr_type": "preview_images_dark"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataSource": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": "kind"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "source_id": {
+ "attr_type": "source_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MetadataSupport": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tier": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "email": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "link": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tier": {
+ "attr_type": "tier"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "email": {
+ "attr_type": "email"
+ },
+ "link": {
+ "attr_type": "link"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityIncidentCreationAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_exclude_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "product_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "display_names_filter": {
+ "attr_type": "display_names_filter"
+ },
+ "display_names_exclude_filter": {
+ "attr_type": "display_names_exclude_filter"
+ },
+ "product_filter": {
+ "attr_type": "product_filter"
+ },
+ "severities_filter": {
+ "attr_type": "severities_filter"
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "product_filter": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_names_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_exclude_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "display_names_filter": {
+ "attr_type": "display_names_filter"
+ },
+ "display_names_exclude_filter": {
+ "attr_type": "display_names_exclude_filter"
+ },
+ "product_filter": {
+ "attr_type": "product_filter"
+ },
+ "severities_filter": {
+ "attr_type": "severities_filter"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "product_filter": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_names_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_exclude_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "display_names_filter": {
+ "attr_type": "display_names_filter"
+ },
+ "display_names_exclude_filter": {
+ "attr_type": "display_names_exclude_filter"
+ },
+ "product_filter": {
+ "attr_type": "product_filter"
+ },
+ "severities_filter": {
+ "attr_type": "severities_filter"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_exclude_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "product_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "display_names_filter": {
+ "attr_type": "display_names_filter"
+ },
+ "display_names_exclude_filter": {
+ "attr_type": "display_names_exclude_filter"
+ },
+ "product_filter": {
+ "attr_type": "product_filter"
+ },
+ "severities_filter": {
+ "attr_type": "severities_filter"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_names_exclude_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "product_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severities_filter": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "display_names_filter": {
+ "attr_type": "display_names_filter"
+ },
+ "display_names_exclude_filter": {
+ "attr_type": "display_names_exclude_filter"
+ },
+ "product_filter": {
+ "attr_type": "product_filter"
+ },
+ "severities_filter": {
+ "attr_type": "severities_filter"
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "MicrosoftSecurityProductName": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AZURE_ACTIVE_DIRECTORY_IDENTITY_PROTECTION": "AZURE_ACTIVE_DIRECTORY_IDENTITY_PROTECTION",
+ "AZURE_ADVANCED_THREAT_PROTECTION": "AZURE_ADVANCED_THREAT_PROTECTION",
+ "AZURE_SECURITY_CENTER": "AZURE_SECURITY_CENTER",
+ "AZURE_SECURITY_CENTER_FOR_IO_T": "AZURE_SECURITY_CENTER_FOR_IO_T",
+ "MICROSOFT_CLOUD_APP_SECURITY": "MICROSOFT_CLOUD_APP_SECURITY",
+ "MICROSOFT_DEFENDER_ADVANCED_THREAT_PROTECTION": "MICROSOFT_DEFENDER_ADVANCED_THREAT_PROTECTION",
+ "OFFICE365_ADVANCED_THREAT_PROTECTION": "OFFICE365_ADVANCED_THREAT_PROTECTION"
+ }
+ },
+ "MtpCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "NicEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "mac_address": {
+ "attr_type": null
+ },
+ "ip_address_entity_id": {
+ "attr_type": null
+ },
+ "vlans": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "NicEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "mac_address": {
+ "attr_type": null
+ },
+ "ip_address_entity_id": {
+ "attr_type": null
+ },
+ "vlans": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "NrtAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "template_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "suppression_duration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "suppression_enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "template_version": {
+ "attr_type": "template_version"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "suppression_duration": {
+ "attr_type": "suppression_duration"
+ },
+ "suppression_enabled": {
+ "attr_type": "suppression_enabled"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "incident_configuration": {
+ "attr_type": "incident_configuration"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "NrtAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "NrtAlertRuleTemplateProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OSFamily": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANDROID": "ANDROID",
+ "IOS": "IOS",
+ "LINUX": "LINUX",
+ "UNKNOWN": "UNKNOWN",
+ "WINDOWS": "WINDOWS"
+ }
+ },
+ "Office365ProjectCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Office365ProjectCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Office365ProjectConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logs": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logs": {
+ "attr_type": "logs"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Office365ProjectConnectorDataTypesLogs": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Office365ProjectDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Office365ProjectDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeATPCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeATPCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeATPDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeATPDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeConsent": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "consent_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "consent_id": {
+ "attr_type": "consent_id"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeConsentList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "exchange": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "share_point": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "teams": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "exchange": {
+ "attr_type": "exchange"
+ },
+ "share_point": {
+ "attr_type": "share_point"
+ },
+ "teams": {
+ "attr_type": "teams"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnectorDataTypesExchange": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnectorDataTypesSharePoint": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnectorDataTypesTeams": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeIRMCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeIRMCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeIRMDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficeIRMDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBICheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBICheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBIConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logs": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logs": {
+ "attr_type": "logs"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBIConnectorDataTypesLogs": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBIDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OfficePowerBIDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Operation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "display": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "origin": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_data_action": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "display": {
+ "attr_type": "display"
+ },
+ "name": {
+ "attr_type": "name"
+ },
+ "origin": {
+ "attr_type": "origin"
+ },
+ "is_data_action": {
+ "attr_type": "is_data_action"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OperationDisplay": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "operation": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "resource": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "description": {
+ "attr_type": "description"
+ },
+ "operation": {
+ "attr_type": "operation"
+ },
+ "provider": {
+ "attr_type": "provider"
+ },
+ "resource": {
+ "attr_type": "resource"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "OperationsList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Operator": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AND": "AND",
+ "OR": "OR"
+ }
+ },
+ "OutputType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DATE": "DATE",
+ "ENTITY": "ENTITY",
+ "NUMBER": "NUMBER",
+ "STRING": "STRING"
+ }
+ },
+ "OwnerType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "GROUP": "GROUP",
+ "UNKNOWN": "UNKNOWN",
+ "USER": "USER"
+ }
+ },
+ "PermissionProviderScope": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "RESOURCE_GROUP": "RESOURCE_GROUP",
+ "SUBSCRIPTION": "SUBSCRIPTION",
+ "WORKSPACE": "WORKSPACE"
+ }
+ },
+ "Permissions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "resource_provider": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "customs": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "resource_provider": {
+ "attr_type": "resource_provider"
+ },
+ "customs": {
+ "attr_type": "customs"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PermissionsCustomsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "name": {
+ "attr_type": "name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PermissionsResourceProviderItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "provider": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "permissions_display_text": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider_display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "scope": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_permissions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "provider": {
+ "attr_type": "provider"
+ },
+ "permissions_display_text": {
+ "attr_type": "permissions_display_text"
+ },
+ "provider_display_name": {
+ "attr_type": "provider_display_name"
+ },
+ "scope": {
+ "attr_type": "scope"
+ },
+ "required_permissions": {
+ "attr_type": "required_permissions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PlaybookActionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "logic_app_resource_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "logic_app_resource_id": {
+ "attr_type": "logic_app_resource_id"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PollingFrequency": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ONCE_AN_HOUR": "ONCE_AN_HOUR",
+ "ONCE_A_DAY": "ONCE_A_DAY",
+ "ONCE_A_MINUTE": "ONCE_A_MINUTE"
+ }
+ },
+ "Priority": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HIGH": "HIGH",
+ "LOW": "LOW",
+ "MEDIUM": "MEDIUM"
+ }
+ },
+ "ProcessEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "elevation_token": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "account_entity_id": {
+ "attr_type": null
+ },
+ "command_line": {
+ "attr_type": null
+ },
+ "creation_time_utc": {
+ "attr_type": null
+ },
+ "elevation_token": {
+ "attr_type": "elevation_token"
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "host_logon_session_entity_id": {
+ "attr_type": null
+ },
+ "image_file_entity_id": {
+ "attr_type": null
+ },
+ "parent_process_entity_id": {
+ "attr_type": null
+ },
+ "process_id": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ProcessEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "elevation_token": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "account_entity_id": {
+ "attr_type": null
+ },
+ "command_line": {
+ "attr_type": null
+ },
+ "creation_time_utc": {
+ "attr_type": null
+ },
+ "elevation_token": {
+ "attr_type": "elevation_token"
+ },
+ "host_entity_id": {
+ "attr_type": null
+ },
+ "host_logon_session_entity_id": {
+ "attr_type": null
+ },
+ "image_file_entity_id": {
+ "attr_type": null
+ },
+ "parent_process_entity_id": {
+ "attr_type": null
+ },
+ "process_id": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PropertyArrayChangedConditionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "condition_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "condition_properties": {
+ "attr_type": "condition_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PropertyArrayConditionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "condition_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "condition_properties": {
+ "attr_type": "condition_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PropertyChangedConditionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "condition_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "condition_properties": {
+ "attr_type": "condition_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "PropertyConditionProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "condition_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "condition_type": {
+ "attr_type": null
+ },
+ "condition_properties": {
+ "attr_type": "condition_properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ProviderName": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "MICROSOFT_AADIAM_DIAGNOSTIC_SETTINGS": "MICROSOFT_AADIAM_DIAGNOSTIC_SETTINGS",
+ "MICROSOFT_AUTHORIZATION_POLICY_ASSIGNMENTS": "MICROSOFT_AUTHORIZATION_POLICY_ASSIGNMENTS",
+ "MICROSOFT_OPERATIONAL_INSIGHTS_SOLUTIONS": "MICROSOFT_OPERATIONAL_INSIGHTS_SOLUTIONS",
+ "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES": "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES",
+ "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES_DATASOURCES": "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES_DATASOURCES",
+ "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES_SHARED_KEYS": "MICROSOFT_OPERATIONAL_INSIGHTS_WORKSPACES_SHARED_KEYS"
+ }
+ },
+ "QueryBasedAlertRuleTemplateProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Recommendation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "instructions": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "recommendation_type_title": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "recommendation_type_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "category": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "context": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "workspace_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "actions": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "priority": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "last_evaluated_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "content": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "resource_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "additional_properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "hide_until_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_until_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "visible": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "id": {
+ "attr_type": "id"
+ },
+ "instructions": {
+ "attr_type": "instructions"
+ },
+ "content": {
+ "attr_type": "content"
+ },
+ "resource_id": {
+ "attr_type": "resource_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ },
+ "title": {
+ "attr_type": "title"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "recommendation_type_title": {
+ "attr_type": "recommendation_type_title"
+ },
+ "recommendation_type_id": {
+ "attr_type": "recommendation_type_id"
+ },
+ "category": {
+ "attr_type": "category"
+ },
+ "context": {
+ "attr_type": "context"
+ },
+ "workspace_id": {
+ "attr_type": "workspace_id"
+ },
+ "actions": {
+ "attr_type": "actions"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "priority": {
+ "attr_type": "priority"
+ },
+ "last_evaluated_time_utc": {
+ "attr_type": "last_evaluated_time_utc"
+ },
+ "hide_until_time_utc": {
+ "attr_type": "hide_until_time_utc"
+ },
+ "display_until_time_utc": {
+ "attr_type": "display_until_time_utc"
+ },
+ "visible": {
+ "attr_type": "visible"
+ }
+ }
+ },
+ "RecommendationList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RecommendationPatch": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "hide_until_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "hide_until_time_utc": {
+ "attr_type": "hide_until_time_utc"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RecommendedAction": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "link_text": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "link_url": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "state": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "link_text": {
+ "attr_type": "link_text"
+ },
+ "link_url": {
+ "attr_type": "link_url"
+ },
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RegistryHive": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "HKEY_A": "HKEY_A",
+ "HKEY_CLASSES_ROOT": "HKEY_CLASSES_ROOT",
+ "HKEY_CURRENT_CONFIG": "HKEY_CURRENT_CONFIG",
+ "HKEY_CURRENT_USER": "HKEY_CURRENT_USER",
+ "HKEY_CURRENT_USER_LOCAL_SETTINGS": "HKEY_CURRENT_USER_LOCAL_SETTINGS",
+ "HKEY_LOCAL_MACHINE": "HKEY_LOCAL_MACHINE",
+ "HKEY_PERFORMANCE_DATA": "HKEY_PERFORMANCE_DATA",
+ "HKEY_PERFORMANCE_NLSTEXT": "HKEY_PERFORMANCE_NLSTEXT",
+ "HKEY_PERFORMANCE_TEXT": "HKEY_PERFORMANCE_TEXT",
+ "HKEY_USERS": "HKEY_USERS"
+ }
+ },
+ "RegistryKeyEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "hive": {
+ "attr_type": null
+ },
+ "key": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RegistryKeyEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "hive": {
+ "attr_type": null
+ },
+ "key": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RegistryValueEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "key_entity_id": {
+ "attr_type": null
+ },
+ "value_data": {
+ "attr_type": null
+ },
+ "value_name": {
+ "attr_type": null
+ },
+ "value_type": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RegistryValueEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "key_entity_id": {
+ "attr_type": null
+ },
+ "value_data": {
+ "attr_type": null
+ },
+ "value_name": {
+ "attr_type": null
+ },
+ "value_type": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RegistryValueKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "BINARY": "BINARY",
+ "D_WORD": "D_WORD",
+ "EXPAND_STRING": "EXPAND_STRING",
+ "MULTI_STRING": "MULTI_STRING",
+ "NONE": "NONE",
+ "Q_WORD": "Q_WORD",
+ "STRING": "STRING",
+ "UNKNOWN": "UNKNOWN"
+ }
+ },
+ "Relation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "related_resource_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "related_resource_id": {
+ "attr_type": "related_resource_id"
+ },
+ "related_resource_name": {
+ "attr_type": null
+ },
+ "related_resource_type": {
+ "attr_type": null
+ },
+ "related_resource_kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RelationList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Repo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "full_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "branches": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "url": {
+ "attr_type": "url"
+ },
+ "full_name": {
+ "attr_type": "full_name"
+ },
+ "branches": {
+ "attr_type": "branches"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RepoList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RepoType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "DEV_OPS": "DEV_OPS",
+ "GITHUB": "GITHUB"
+ }
+ },
+ "Repository": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "branch": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "deployment_logs_url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "path_mapping": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "url": {
+ "attr_type": "url"
+ },
+ "branch": {
+ "attr_type": "branch"
+ },
+ "display_url": {
+ "attr_type": "display_url"
+ },
+ "deployment_logs_url": {
+ "attr_type": "deployment_logs_url"
+ },
+ "path_mapping": {
+ "attr_type": "path_mapping"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RepositoryResourceInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "webhook": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "git_hub_resource_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "azure_dev_ops_resource_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "webhook": {
+ "attr_type": "webhook"
+ },
+ "git_hub_resource_info": {
+ "attr_type": "git_hub_resource_info"
+ },
+ "azure_dev_ops_resource_info": {
+ "attr_type": "azure_dev_ops_resource_info"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "RequiredPermissions": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "action": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "write": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "read": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "delete": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "action": {
+ "attr_type": "action"
+ },
+ "write": {
+ "attr_type": "write"
+ },
+ "read": {
+ "attr_type": "read"
+ },
+ "delete": {
+ "attr_type": "delete"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Resource": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ResourceProvider": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "provider": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "permissions_display_text": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider_display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "scope": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_permissions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "provider": {
+ "attr_type": "provider"
+ },
+ "permissions_display_text": {
+ "attr_type": "permissions_display_text"
+ },
+ "provider_display_name": {
+ "attr_type": "provider_display_name"
+ },
+ "scope": {
+ "attr_type": "scope"
+ },
+ "required_permissions": {
+ "attr_type": "required_permissions"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ResourceWithEtag": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SampleQueries": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "description": {
+ "attr_type": "description"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ScheduledAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_threshold": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "template_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "suppression_duration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "suppression_enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_frequency": {
+ "attr_type": "query_frequency"
+ },
+ "query_period": {
+ "attr_type": "query_period"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "trigger_operator": {
+ "attr_type": "trigger_operator"
+ },
+ "trigger_threshold": {
+ "attr_type": "trigger_threshold"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "template_version": {
+ "attr_type": "template_version"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "suppression_duration": {
+ "attr_type": "suppression_duration"
+ },
+ "suppression_enabled": {
+ "attr_type": "suppression_enabled"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "incident_configuration": {
+ "attr_type": "incident_configuration"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ScheduledAlertRuleCommonProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_threshold": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "query": {
+ "attr_type": "query"
+ },
+ "query_frequency": {
+ "attr_type": "query_frequency"
+ },
+ "query_period": {
+ "attr_type": "query_period"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "trigger_operator": {
+ "attr_type": "trigger_operator"
+ },
+ "trigger_threshold": {
+ "attr_type": "trigger_threshold"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ScheduledAlertRuleProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "suppression_duration": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "suppression_enabled": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_threshold": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "template_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "incident_configuration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "template_version": {
+ "attr_type": "template_version"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "suppression_duration": {
+ "attr_type": "suppression_duration"
+ },
+ "suppression_enabled": {
+ "attr_type": "suppression_enabled"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "incident_configuration": {
+ "attr_type": "incident_configuration"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_frequency": {
+ "attr_type": "query_frequency"
+ },
+ "query_period": {
+ "attr_type": "query_period"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "trigger_operator": {
+ "attr_type": "trigger_operator"
+ },
+ "trigger_threshold": {
+ "attr_type": "trigger_threshold"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ScheduledAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "query_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_operator": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "trigger_threshold": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "event_grouping_settings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "custom_details": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_details_override": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sentinel_entities_mappings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "query": {
+ "attr_type": "query"
+ },
+ "query_frequency": {
+ "attr_type": "query_frequency"
+ },
+ "query_period": {
+ "attr_type": "query_period"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "trigger_operator": {
+ "attr_type": "trigger_operator"
+ },
+ "trigger_threshold": {
+ "attr_type": "trigger_threshold"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "event_grouping_settings": {
+ "attr_type": "event_grouping_settings"
+ },
+ "custom_details": {
+ "attr_type": "custom_details"
+ },
+ "entity_mappings": {
+ "attr_type": "entity_mappings"
+ },
+ "alert_details_override": {
+ "attr_type": "alert_details_override"
+ },
+ "sentinel_entities_mappings": {
+ "attr_type": "sentinel_entities_mappings"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityAlert": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "alert_display_name": {
+ "attr_type": null
+ },
+ "alert_type": {
+ "attr_type": null
+ },
+ "compromised_entity": {
+ "attr_type": null
+ },
+ "confidence_level": {
+ "attr_type": null
+ },
+ "confidence_reasons": {
+ "attr_type": null
+ },
+ "confidence_score": {
+ "attr_type": null
+ },
+ "confidence_score_status": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": null
+ },
+ "end_time_utc": {
+ "attr_type": null
+ },
+ "intent": {
+ "attr_type": null
+ },
+ "provider_alert_id": {
+ "attr_type": null
+ },
+ "processing_end_time": {
+ "attr_type": null
+ },
+ "product_component_name": {
+ "attr_type": null
+ },
+ "product_name": {
+ "attr_type": null
+ },
+ "product_version": {
+ "attr_type": null
+ },
+ "remediation_steps": {
+ "attr_type": null
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "start_time_utc": {
+ "attr_type": null
+ },
+ "status": {
+ "attr_type": null
+ },
+ "system_alert_id": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "time_generated": {
+ "attr_type": null
+ },
+ "vendor_name": {
+ "attr_type": null
+ },
+ "alert_link": {
+ "attr_type": null
+ },
+ "resource_identifiers": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityAlertProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "alert_display_name": {
+ "attr_type": null
+ },
+ "alert_type": {
+ "attr_type": null
+ },
+ "compromised_entity": {
+ "attr_type": null
+ },
+ "confidence_level": {
+ "attr_type": null
+ },
+ "confidence_reasons": {
+ "attr_type": null
+ },
+ "confidence_score": {
+ "attr_type": null
+ },
+ "confidence_score_status": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": null
+ },
+ "end_time_utc": {
+ "attr_type": null
+ },
+ "intent": {
+ "attr_type": null
+ },
+ "provider_alert_id": {
+ "attr_type": null
+ },
+ "processing_end_time": {
+ "attr_type": null
+ },
+ "product_component_name": {
+ "attr_type": null
+ },
+ "product_name": {
+ "attr_type": null
+ },
+ "product_version": {
+ "attr_type": null
+ },
+ "remediation_steps": {
+ "attr_type": null
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "start_time_utc": {
+ "attr_type": null
+ },
+ "status": {
+ "attr_type": null
+ },
+ "system_alert_id": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "time_generated": {
+ "attr_type": null
+ },
+ "vendor_name": {
+ "attr_type": null
+ },
+ "alert_link": {
+ "attr_type": null
+ },
+ "resource_identifiers": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityAlertPropertiesConfidenceReasonsItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "reason": {
+ "attr_type": null
+ },
+ "reason_type": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityAlertTimelineItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "azure_resource_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "end_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "start_time_utc": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "time_generated": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "alert_type": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "product_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "azure_resource_id": {
+ "attr_type": "azure_resource_id"
+ },
+ "product_name": {
+ "attr_type": "product_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "end_time_utc": {
+ "attr_type": "end_time_utc"
+ },
+ "start_time_utc": {
+ "attr_type": "start_time_utc"
+ },
+ "time_generated": {
+ "attr_type": "time_generated"
+ },
+ "alert_type": {
+ "attr_type": "alert_type"
+ },
+ "intent": {
+ "attr_type": null
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityGroupEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "distinguished_name": {
+ "attr_type": null
+ },
+ "object_guid": {
+ "attr_type": null
+ },
+ "sid": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityGroupEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "distinguished_name": {
+ "attr_type": null
+ },
+ "object_guid": {
+ "attr_type": null
+ },
+ "sid": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityMLAnalyticsSetting": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityMLAnalyticsSettingsDataSource": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "connector_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "connector_id": {
+ "attr_type": "connector_id"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SecurityMLAnalyticsSettingsKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANOMALY": "ANOMALY"
+ }
+ },
+ "SecurityMLAnalyticsSettingsList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SentinelEntityMapping": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "column_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "column_name": {
+ "attr_type": "column_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SentinelOnboardingState": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "customer_managed_key": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "customer_managed_key": {
+ "attr_type": "customer_managed_key"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SentinelOnboardingStatesList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SettingKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ANOMALIES": "ANOMALIES",
+ "ENTITY_ANALYTICS": "ENTITY_ANALYTICS",
+ "EYES_ON": "EYES_ON",
+ "UEBA": "UEBA"
+ }
+ },
+ "SettingList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SettingType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COPYABLE_LABEL": "COPYABLE_LABEL",
+ "INFO_MESSAGE": "INFO_MESSAGE",
+ "INSTRUCTION_STEPS_GROUP": "INSTRUCTION_STEPS_GROUP"
+ }
+ },
+ "Settings": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SettingsStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "FLIGHTING": "FLIGHTING",
+ "PRODUCTION": "PRODUCTION"
+ }
+ },
+ "SourceControl": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "id_properties_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "repo_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "repository": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "repository_resource_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_deployment_info": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "id_properties_id": {
+ "attr_type": "id_properties_id"
+ },
+ "version": {
+ "attr_type": "version"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "repo_type": {
+ "attr_type": "repo_type"
+ },
+ "content_types": {
+ "attr_type": "content_types"
+ },
+ "repository": {
+ "attr_type": "repository"
+ },
+ "repository_resource_info": {
+ "attr_type": "repository_resource_info"
+ },
+ "last_deployment_info": {
+ "attr_type": "last_deployment_info"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SourceControlList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SourceKind": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COMMUNITY": "COMMUNITY",
+ "LOCAL_WORKSPACE": "LOCAL_WORKSPACE",
+ "SOLUTION": "SOLUTION",
+ "SOURCE_REPOSITORY": "SOURCE_REPOSITORY"
+ }
+ },
+ "SourceType": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "LOCAL_FILE": "LOCAL_FILE",
+ "REMOTE_STORAGE": "REMOTE_STORAGE"
+ }
+ },
+ "State": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ACTIVE": "ACTIVE",
+ "COMPLETED_BY_ACTION": "COMPLETED_BY_ACTION",
+ "COMPLETED_BY_USER": "COMPLETED_BY_USER",
+ "DISABLED": "DISABLED",
+ "HIDDEN": "HIDDEN"
+ }
+ },
+ "SubmissionMailEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "network_message_id": {
+ "attr_type": null
+ },
+ "submission_id": {
+ "attr_type": null
+ },
+ "submitter": {
+ "attr_type": null
+ },
+ "submission_date": {
+ "attr_type": null
+ },
+ "timestamp": {
+ "attr_type": null
+ },
+ "recipient": {
+ "attr_type": null
+ },
+ "sender": {
+ "attr_type": null
+ },
+ "sender_ip": {
+ "attr_type": null
+ },
+ "subject": {
+ "attr_type": null
+ },
+ "report_type": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SubmissionMailEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "network_message_id": {
+ "attr_type": null
+ },
+ "submission_id": {
+ "attr_type": null
+ },
+ "submitter": {
+ "attr_type": null
+ },
+ "submission_date": {
+ "attr_type": null
+ },
+ "timestamp": {
+ "attr_type": null
+ },
+ "recipient": {
+ "attr_type": null
+ },
+ "sender": {
+ "attr_type": null
+ },
+ "sender_ip": {
+ "attr_type": null
+ },
+ "subject": {
+ "attr_type": null
+ },
+ "report_type": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "SupportTier": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "COMMUNITY": "COMMUNITY",
+ "MICROSOFT": "MICROSOFT",
+ "PARTNER": "PARTNER"
+ }
+ },
+ "SystemData": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_at": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_modified_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_modified_by_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_modified_at": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "created_by_type": {
+ "attr_type": "created_by_type"
+ },
+ "created_at": {
+ "attr_type": "created_at"
+ },
+ "last_modified_by": {
+ "attr_type": "last_modified_by"
+ },
+ "last_modified_by_type": {
+ "attr_type": "last_modified_by_type"
+ },
+ "last_modified_at": {
+ "attr_type": "last_modified_at"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TICheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TICheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TIDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tip_lookback_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "tip_lookback_period": {
+ "attr_type": "tip_lookback_period"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TIDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "indicators": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "indicators": {
+ "attr_type": "indicators"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TIDataConnectorDataTypesIndicators": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TIDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "tip_lookback_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tip_lookback_period": {
+ "attr_type": "tip_lookback_period"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TeamInformation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "team_id": {
+ "attr_type": null
+ },
+ "primary_channel_url": {
+ "attr_type": null
+ },
+ "team_creation_time_utc": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TeamProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "team_name": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "team_description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "group_ids": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "member_ids": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "team_name": {
+ "attr_type": "team_name"
+ },
+ "team_description": {
+ "attr_type": "team_description"
+ },
+ "group_ids": {
+ "attr_type": "group_ids"
+ },
+ "member_ids": {
+ "attr_type": "member_ids"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TemplateStatus": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AVAILABLE": "AVAILABLE",
+ "INSTALLED": "INSTALLED",
+ "NOT_AVAILABLE": "NOT_AVAILABLE"
+ }
+ },
+ "ThreatIntelligence": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "confidence": {
+ "attr_type": null
+ },
+ "provider_name": {
+ "attr_type": null
+ },
+ "report_link": {
+ "attr_type": null
+ },
+ "threat_description": {
+ "attr_type": null
+ },
+ "threat_name": {
+ "attr_type": null
+ },
+ "threat_type": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceAlertRule": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "alert_rule_template_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "enabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rule_template_name": {
+ "attr_type": "alert_rule_template_name"
+ },
+ "description": {
+ "attr_type": null
+ },
+ "display_name": {
+ "attr_type": null
+ },
+ "enabled": {
+ "attr_type": "enabled"
+ },
+ "last_modified_utc": {
+ "attr_type": null
+ },
+ "severity": {
+ "attr_type": null
+ },
+ "tactics": {
+ "attr_type": null
+ },
+ "techniques": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceAlertRuleTemplate": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "severity": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "severity": {
+ "attr_type": "severity"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceAlertRuleTemplateProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "severity": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "alert_rules_created_by_template_count": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "required_data_connectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tactics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "techniques": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "severity": {
+ "attr_type": "severity"
+ },
+ "tactics": {
+ "attr_type": "tactics"
+ },
+ "techniques": {
+ "attr_type": "techniques"
+ },
+ "alert_rules_created_by_template_count": {
+ "attr_type": "alert_rules_created_by_template_count"
+ },
+ "last_updated_date_utc": {
+ "attr_type": null
+ },
+ "created_date_utc": {
+ "attr_type": null
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "required_data_connectors": {
+ "attr_type": "required_data_connectors"
+ },
+ "status": {
+ "attr_type": "status"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceAppendTags": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_tags": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "threat_intelligence_tags": {
+ "attr_type": "threat_intelligence_tags"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceExternalReference": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "hashes": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "description": {
+ "attr_type": "description"
+ },
+ "external_id": {
+ "attr_type": "external_id"
+ },
+ "source_name": {
+ "attr_type": "source_name"
+ },
+ "url": {
+ "attr_type": "url"
+ },
+ "hashes": {
+ "attr_type": "hashes"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceFilteringCriteria": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "page_size": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "min_confidence": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "max_confidence": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "min_valid_until": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "max_valid_until": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "include_disabled": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sort_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sources": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "ids": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "keywords": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "skip_token": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "page_size": {
+ "attr_type": "page_size"
+ },
+ "min_confidence": {
+ "attr_type": "min_confidence"
+ },
+ "max_confidence": {
+ "attr_type": "max_confidence"
+ },
+ "min_valid_until": {
+ "attr_type": "min_valid_until"
+ },
+ "max_valid_until": {
+ "attr_type": "max_valid_until"
+ },
+ "include_disabled": {
+ "attr_type": "include_disabled"
+ },
+ "sort_by": {
+ "attr_type": "sort_by"
+ },
+ "sources": {
+ "attr_type": "sources"
+ },
+ "pattern_types": {
+ "attr_type": "pattern_types"
+ },
+ "threat_types": {
+ "attr_type": "threat_types"
+ },
+ "ids": {
+ "attr_type": "ids"
+ },
+ "keywords": {
+ "attr_type": "keywords"
+ },
+ "skip_token": {
+ "attr_type": "skip_token"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceGranularMarkingModel": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "language": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "marking_ref": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "selectors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "language": {
+ "attr_type": "language"
+ },
+ "marking_ref": {
+ "attr_type": "marking_ref"
+ },
+ "selectors": {
+ "attr_type": "selectors"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceIndicatorModel": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_intelligence_tags": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_updated_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "indicator_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kill_chain_phases": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "parsed_pattern": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by_ref": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "defanged": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_last_updated_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_references": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "granular_markings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "revoked": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "confidence": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "object_marking_refs": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "language": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "valid_from": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "valid_until": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "modified": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "extensions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "threat_intelligence_tags": {
+ "attr_type": "threat_intelligence_tags"
+ },
+ "last_updated_time_utc": {
+ "attr_type": "last_updated_time_utc"
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "indicator_types": {
+ "attr_type": "indicator_types"
+ },
+ "pattern": {
+ "attr_type": "pattern"
+ },
+ "pattern_type": {
+ "attr_type": "pattern_type"
+ },
+ "pattern_version": {
+ "attr_type": "pattern_version"
+ },
+ "kill_chain_phases": {
+ "attr_type": "kill_chain_phases"
+ },
+ "parsed_pattern": {
+ "attr_type": "parsed_pattern"
+ },
+ "external_id": {
+ "attr_type": "external_id"
+ },
+ "created_by_ref": {
+ "attr_type": "created_by_ref"
+ },
+ "defanged": {
+ "attr_type": "defanged"
+ },
+ "external_last_updated_time_utc": {
+ "attr_type": "external_last_updated_time_utc"
+ },
+ "external_references": {
+ "attr_type": "external_references"
+ },
+ "granular_markings": {
+ "attr_type": "granular_markings"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "revoked": {
+ "attr_type": "revoked"
+ },
+ "confidence": {
+ "attr_type": "confidence"
+ },
+ "object_marking_refs": {
+ "attr_type": "object_marking_refs"
+ },
+ "language": {
+ "attr_type": "language"
+ },
+ "threat_types": {
+ "attr_type": "threat_types"
+ },
+ "valid_from": {
+ "attr_type": "valid_from"
+ },
+ "valid_until": {
+ "attr_type": "valid_until"
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "modified": {
+ "attr_type": "modified"
+ },
+ "extensions": {
+ "attr_type": "extensions"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceIndicatorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "threat_intelligence_tags": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "last_updated_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "indicator_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_version": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kill_chain_phases": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "parsed_pattern": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by_ref": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "defanged": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_last_updated_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "external_references": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "granular_markings": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "revoked": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "confidence": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "object_marking_refs": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "language": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "valid_from": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "valid_until": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "modified": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "extensions": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "threat_intelligence_tags": {
+ "attr_type": "threat_intelligence_tags"
+ },
+ "last_updated_time_utc": {
+ "attr_type": "last_updated_time_utc"
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "indicator_types": {
+ "attr_type": "indicator_types"
+ },
+ "pattern": {
+ "attr_type": "pattern"
+ },
+ "pattern_type": {
+ "attr_type": "pattern_type"
+ },
+ "pattern_version": {
+ "attr_type": "pattern_version"
+ },
+ "kill_chain_phases": {
+ "attr_type": "kill_chain_phases"
+ },
+ "parsed_pattern": {
+ "attr_type": "parsed_pattern"
+ },
+ "external_id": {
+ "attr_type": "external_id"
+ },
+ "created_by_ref": {
+ "attr_type": "created_by_ref"
+ },
+ "defanged": {
+ "attr_type": "defanged"
+ },
+ "external_last_updated_time_utc": {
+ "attr_type": "external_last_updated_time_utc"
+ },
+ "external_references": {
+ "attr_type": "external_references"
+ },
+ "granular_markings": {
+ "attr_type": "granular_markings"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "revoked": {
+ "attr_type": "revoked"
+ },
+ "confidence": {
+ "attr_type": "confidence"
+ },
+ "object_marking_refs": {
+ "attr_type": "object_marking_refs"
+ },
+ "language": {
+ "attr_type": "language"
+ },
+ "threat_types": {
+ "attr_type": "threat_types"
+ },
+ "valid_from": {
+ "attr_type": "valid_from"
+ },
+ "valid_until": {
+ "attr_type": "valid_until"
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "modified": {
+ "attr_type": "modified"
+ },
+ "extensions": {
+ "attr_type": "extensions"
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceInformation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceInformationList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceKillChainPhase": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kill_chain_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "phase_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kill_chain_name": {
+ "attr_type": "kill_chain_name"
+ },
+ "phase_name": {
+ "attr_type": "phase_name"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceMetric": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "last_updated_time_utc": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "threat_type_metrics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_type_metrics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_metrics": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "last_updated_time_utc": {
+ "attr_type": "last_updated_time_utc"
+ },
+ "threat_type_metrics": {
+ "attr_type": "threat_type_metrics"
+ },
+ "pattern_type_metrics": {
+ "attr_type": "pattern_type_metrics"
+ },
+ "source_metrics": {
+ "attr_type": "source_metrics"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceMetricEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "metric_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "metric_value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "metric_name": {
+ "attr_type": "metric_name"
+ },
+ "metric_value": {
+ "attr_type": "metric_value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceMetrics": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "properties": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "properties": {
+ "attr_type": "properties"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceMetricsList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceParsedPattern": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "pattern_type_key": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "pattern_type_values": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "pattern_type_key": {
+ "attr_type": "pattern_type_key"
+ },
+ "pattern_type_values": {
+ "attr_type": "pattern_type_values"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceParsedPatternTypeValue": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "value_type": {
+ "attr_type": "value_type"
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceResourceKindEnum": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "INDICATOR": "INDICATOR"
+ }
+ },
+ "ThreatIntelligenceSortingCriteria": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "item_key": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "sort_order": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "item_key": {
+ "attr_type": "item_key"
+ },
+ "sort_order": {
+ "attr_type": "sort_order"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ThreatIntelligenceSortingCriteriaEnum": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ASCENDING": "ASCENDING",
+ "DESCENDING": "DESCENDING",
+ "UNSORTED": "UNSORTED"
+ }
+ },
+ "TiTaxiiCheckRequirements": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TiTaxiiCheckRequirementsProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TiTaxiiDataConnector": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "workspace_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "friendly_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "taxii_server": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "collection_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "user_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "password": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "taxii_lookback_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "polling_frequency": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "workspace_id": {
+ "attr_type": "workspace_id"
+ },
+ "friendly_name": {
+ "attr_type": "friendly_name"
+ },
+ "taxii_server": {
+ "attr_type": "taxii_server"
+ },
+ "collection_id": {
+ "attr_type": "collection_id"
+ },
+ "user_name": {
+ "attr_type": "user_name"
+ },
+ "password": {
+ "attr_type": "password"
+ },
+ "taxii_lookback_period": {
+ "attr_type": "taxii_lookback_period"
+ },
+ "polling_frequency": {
+ "attr_type": "polling_frequency"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TiTaxiiDataConnectorDataTypes": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "taxii_client": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "taxii_client": {
+ "attr_type": "taxii_client"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TiTaxiiDataConnectorDataTypesTaxiiClient": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "state": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "state": {
+ "attr_type": "state"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TiTaxiiDataConnectorProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "tenant_id": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "polling_frequency": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "data_types": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "workspace_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "friendly_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "taxii_server": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "collection_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "user_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "password": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "taxii_lookback_period": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "workspace_id": {
+ "attr_type": "workspace_id"
+ },
+ "friendly_name": {
+ "attr_type": "friendly_name"
+ },
+ "taxii_server": {
+ "attr_type": "taxii_server"
+ },
+ "collection_id": {
+ "attr_type": "collection_id"
+ },
+ "user_name": {
+ "attr_type": "user_name"
+ },
+ "password": {
+ "attr_type": "password"
+ },
+ "taxii_lookback_period": {
+ "attr_type": "taxii_lookback_period"
+ },
+ "polling_frequency": {
+ "attr_type": "polling_frequency"
+ },
+ "data_types": {
+ "attr_type": "data_types"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TimelineAggregation": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "count": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "count": {
+ "attr_type": "count"
+ },
+ "kind": {
+ "attr_type": "kind"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TimelineError": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kind": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "error_message": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "query_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": "kind"
+ },
+ "query_id": {
+ "attr_type": "query_id"
+ },
+ "error_message": {
+ "attr_type": "error_message"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TimelineResultsMetadata": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "total_count": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "aggregations": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "errors": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "total_count": {
+ "attr_type": "total_count"
+ },
+ "aggregations": {
+ "attr_type": "aggregations"
+ },
+ "errors": {
+ "attr_type": "errors"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "TriggerOperator": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "EQUAL": "EQUAL",
+ "GREATER_THAN": "GREATER_THAN",
+ "LESS_THAN": "LESS_THAN",
+ "NOT_EQUAL": "NOT_EQUAL"
+ }
+ },
+ "TriggersOn": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "ALERTS": "ALERTS",
+ "INCIDENTS": "INCIDENTS"
+ }
+ },
+ "TriggersWhen": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "CREATED": "CREATED",
+ "UPDATED": "UPDATED"
+ }
+ },
+ "Ueba": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "data_sources": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "data_sources": {
+ "attr_type": "data_sources"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "UebaDataSources": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "AUDIT_LOGS": "AUDIT_LOGS",
+ "AZURE_ACTIVITY": "AZURE_ACTIVITY",
+ "SECURITY_EVENT": "SECURITY_EVENT",
+ "SIGNIN_LOGS": "SIGNIN_LOGS"
+ }
+ },
+ "UrlEntity": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "kind": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "url": {
+ "attr_type": null
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "UrlEntityProperties": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "url": {
+ "attr_type": null
+ },
+ "additional_data": {
+ "attr_type": null
+ },
+ "friendly_name": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "UserInfo": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "object_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "email": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "object_id": {
+ "attr_type": "object_id"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "ValidationError": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "record_index": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "record_index": {
+ "attr_type": "record_index"
+ },
+ "error_messages": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Version": {
+ "type": "Enum",
+ "methods": {},
+ "properties": {
+ "V1": "V1",
+ "V2": "V2"
+ }
+ },
+ "Watchlist": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "watchlist_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "display_name": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "provider": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "source_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "description": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "watchlist_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "watchlist_alias": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_deleted": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "labels": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "default_duration": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "number_of_lines_to_skip": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "raw_content": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "items_search_key": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "upload_status": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "watchlist_id": {
+ "attr_type": "watchlist_id"
+ },
+ "display_name": {
+ "attr_type": "display_name"
+ },
+ "provider": {
+ "attr_type": "provider"
+ },
+ "source": {
+ "attr_type": "source"
+ },
+ "source_type": {
+ "attr_type": "source_type"
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "updated_by": {
+ "attr_type": "updated_by"
+ },
+ "description": {
+ "attr_type": "description"
+ },
+ "watchlist_type": {
+ "attr_type": "watchlist_type"
+ },
+ "watchlist_alias": {
+ "attr_type": "watchlist_alias"
+ },
+ "is_deleted": {
+ "attr_type": "is_deleted"
+ },
+ "labels": {
+ "attr_type": "labels"
+ },
+ "default_duration": {
+ "attr_type": "default_duration"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "number_of_lines_to_skip": {
+ "attr_type": "number_of_lines_to_skip"
+ },
+ "raw_content": {
+ "attr_type": "raw_content"
+ },
+ "items_search_key": {
+ "attr_type": "items_search_key"
+ },
+ "content_type": {
+ "attr_type": "content_type"
+ },
+ "upload_status": {
+ "attr_type": "upload_status"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "WatchlistItem": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "etag": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "watchlist_item_type": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "watchlist_item_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "tenant_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "is_deleted": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "created_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "updated_by": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "items_key_value": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "entity_mapping": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "watchlist_item_type": {
+ "attr_type": "watchlist_item_type"
+ },
+ "watchlist_item_id": {
+ "attr_type": "watchlist_item_id"
+ },
+ "tenant_id": {
+ "attr_type": "tenant_id"
+ },
+ "is_deleted": {
+ "attr_type": "is_deleted"
+ },
+ "created": {
+ "attr_type": "created"
+ },
+ "updated": {
+ "attr_type": "updated"
+ },
+ "created_by": {
+ "attr_type": "created_by"
+ },
+ "updated_by": {
+ "attr_type": "updated_by"
+ },
+ "items_key_value": {
+ "attr_type": "items_key_value"
+ },
+ "entity_mapping": {
+ "attr_type": "entity_mapping"
+ },
+ "etag": {
+ "attr_type": "etag"
+ },
+ "id": {
+ "attr_type": null
+ },
+ "name": {
+ "attr_type": null
+ },
+ "type": {
+ "attr_type": null
+ },
+ "system_data": {
+ "attr_type": null
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "WatchlistItemList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "WatchlistList": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "value": {
+ "default": null,
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "next_link": {
+ "attr_type": null
+ },
+ "value": {
+ "attr_type": "value"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ },
+ "Webhook": {
+ "type": null,
+ "methods": {
+ "__init__": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "webhook_id": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "webhook_url": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "webhook_secret_update_time": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "rotate_webhook_secret": {
+ "default": "none",
+ "param_type": "keyword_only"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "as_dict": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "key_transformer": {
+ "default": "attribute_transformer",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "deserialize": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "enable_additional_properties_sending": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "from_dict": {
+ "parameters": {
+ "data": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "key_extractors": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ },
+ "content_type": {
+ "default": "none",
+ "param_type": "positional_or_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ },
+ "is_xml_model": {
+ "parameters": {},
+ "is_async": false,
+ "overloads": []
+ },
+ "serialize": {
+ "parameters": {
+ "self": {
+ "default": null,
+ "param_type": "positional_or_keyword"
+ },
+ "keep_readonly": {
+ "default": "bool",
+ "param_type": "positional_or_keyword"
+ },
+ "kwargs": {
+ "default": null,
+ "param_type": "var_keyword"
+ }
+ },
+ "is_async": false,
+ "overloads": []
+ }
+ },
+ "properties": {
+ "webhook_id": {
+ "attr_type": "webhook_id"
+ },
+ "webhook_url": {
+ "attr_type": "webhook_url"
+ },
+ "webhook_secret_update_time": {
+ "attr_type": "webhook_secret_update_time"
+ },
+ "rotate_webhook_secret": {
+ "attr_type": "rotate_webhook_secret"
+ },
+ "additional_properties": {
+ "attr_type": null
+ }
+ }
+ }
+ },
+ "function_nodes": {}
+ }
+}
\ No newline at end of file